IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

CONNEXION INTERNET avec EXCEL VBA pour téléchargement de fichiers Mutuelle NUOMA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Avatar de clubleo
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mars 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Mars 2016
    Messages : 63
    Billets dans le blog
    1
    Par défaut CONNEXION INTERNET avec EXCEL VBA pour téléchargement de fichiers Mutuelle NUOMA
    Connexion Internet sur Mutuelle Nuoma pour chargement de fichiers PDF ou CSV avec macros EXCEL VBA

    Bonjour à tous,

    Utilisation pendant plusieurs années de Chrome avec selenium.
    Les màj de webdriver pour Chrome selenium étant arrêtées, je suis obligé de revoir l’application qui me permet de transférer les fichiers des relevés.

    _ Suivant le module qui suit, je n’arrive pas à activer les 2 boutons
    (Pb1 Accepter Refuser & Pb2 La validation Logging_ Password)
    _ Dois-je passer par un navigateur autre que New Internet ?
    _ Peut-être l’appel d’un navigateur avec Shell ??

    Grand MERCI à ceux qui voudrons bien se pencher sur mon PB.

    Environnement WINDOWS 11 :Microsoft Office 2016
    Navigateurs Internet présents :
    _ FIREFOX v 119.0.1 64bits
    _ CHROME v 119.0.6045 64bits
    _ MICROSOFT EDJE v 119.2151.58 64bits

    ===========================================================================================

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Sub Automatisation_Chargement_PageWeb_IE_NEW()
      Dim URL As String, IE As New InternetExplorer, Log, Pass
        'Création de l'objet InternetExplorer
        Set IE = CreateObject("InternetExplorer.Application")   :  IE.Visible = True
     
     'Définition de l'URL
      URL = https://www.nuoma-mutuelle.fr/loginIn : Log = "IIIIIII" : Pass = "PPPPPPP"
                    IE.navigate URL 
        Application.StatusBar = URL & " is loading. Please wait..."
    
         Do While IE.readyState = 4: DoEvents: Loop   'Do While
         Do Until IE.readyState = 4: DoEvents: Loop   'Do Until
    
    ' @@@@@@@ Bouton 	ACCEPTER REFUSER  @@@@@		                 Pb1	Apparition Aléatoire    !!!
    '=======================================
           ' <button class="close" aria-label="Close" type="button" data-dismiss="modal"> 
    
       ' If IE.document.getElementByclass("close") Is Present                      Ancienne vérification
    
      '  <button id="onetrust-reject-all-handler">Continuer sans accepter</button>
        On Error Resume Next
                       IE.document.getElementById("onetrust-reject-all-handler").Click  
     
        On Error GoTo 0
    
          Application.StatusBar = URL & " Loaded" ' Page WEB chargée
    
    '@ <input name="email" class="grey" id="email" autofocus="" type="text" placeholder="Email" value="">
          Dim Login As HTMLElementCollection
          Set Login = IE.document.getElementById("email"):    Login.Value = Log
    '@ <input name="password" class="grey form-password" id="password" type="password"    
                                                             placeholder="Mot de passe">
          Dim MPass As HTMLElementCollection
          Set MPass = IE.document.getElementById("password"): MPass.Value = Pass
    
    '  @@@@@@@  Bouton 	VALIDER le LOGING  @@@@@@@		             Pb2	Essais infructueux   !!!
    '=======================================
     '@ Entrer ==> Bouton ' <input type="submit" value="Entrer" form="connexionAccount">  '
      '     <div class="button submitBtn">
      '     <input type="submit" value="Entrer" form="connexionAccount">
       '    <span class="icon icon-arrow white"></span>     </div>
    
        On Error Resume Next
              IE.document.findElementByClass("button submitBtn").Click
        On Error GoTo 0
    Do While IE.Busy:  DoEvents:  Loop
           Set IE = Nothing
    End Sub
    ==========================================================================================
    Pièce jointe 646492

    ==========================================================================================

  2. #2
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 253
    Par défaut
    Hello,
    pour le Pb1 , je n'ai pas l'air d'avoir d'apparition aléatoire avec Internet Explorer. La première fois oui mais après avec les cookies enregistrés je n'ai plus l'apparition du message.
    Pour le Pb2 essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IE.document.querySelector("input[value='Entrer']").Click
    Sinon, maintenant pour piloter différents navigateurs (chrome, edge etc...) , il y a Chromium Automation for VBA qui est constitué de différentes classes VBA voir ici
    Exemple d'utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Sub TestNuoma()
    Dim objBrowser As New CDPBrowser, url As String, Log As String, Pass As String
    Dim elem As CDPElement
     'Définition de l'URL
      url = "https://www.nuoma-mutuelle.fr/loginIn": Log = "IIIIIII": Pass = "PPPPPPP"
        On Error GoTo ErrHandler
        'on lance MS EDGE
    1   objBrowser.Start "edge"  ', cleanActive:=True, reAttach:=True ', _
                  ' addArgs:="--headless --disable-gpu"
        ' on peut cacher le navigateur
        'objBrowser.hide
    2    objBrowser.navigate url, isInteractive
    '3    If objBrowser.getElementByID("onetrust-reject-all-handler").isExist Then
    '31      objBrowser.getElementByID("onetrust-reject-all-handler").click
    '32      Debug.Print "Reject Cookies"
    '33   End If
    4    objBrowser.getElementByID("email").value = Log
    5    objBrowser.getElementByID("password").value = Pass
    6    objBrowser.getElementByQuery("input[value='Entrer']").click
    10    objBrowser.quit
         Set elem = Nothing: Set objBrowser = Nothing
         Exit Sub
    ErrHandler:
         Debug.Print "Erreur ligne " & Erl: objBrowser.quit: Set elem = Nothing: Set objBrowser = Nothing
     
     
    End Sub
    Ami calmant, J.P

  3. #3
    Membre averti
    Avatar de clubleo
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mars 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Mars 2016
    Messages : 63
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Hello,
    pour le Pb1 , je n'ai pas l'air d'avoir d'apparition aléatoire avec Internet Explorer. La première fois oui mais après avec les cookies enregistrés je n'ai plus l'apparition du message.
    Pour le Pb2 essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IE.document.querySelector("input[value='Entrer']").Click
    Sinon, maintenant pour piloter différents navigateurs (chrome, edge etc...) , il y a Chromium Automation for VBA qui est constitué de différentes classes VBA voir ici
    Exemple d'utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Sub TestNuoma()
    Dim objBrowser As New CDPBrowser, url As String, Log As String, Pass As String
    Dim elem As CDPElement
     'Définition de l'URL
      url = "https://www.nuoma-mutuelle.fr/loginIn": Log = "IIIIIII": Pass = "PPPPPPP"
        On Error GoTo ErrHandler
        'on lance MS EDGE
    1   objBrowser.Start "edge"  ', cleanActive:=True, reAttach:=True ', _
                  ' addArgs:="--headless --disable-gpu"
        ' on peut cacher le navigateur
        'objBrowser.hide
    2    objBrowser.navigate url, isInteractive
    '3    If objBrowser.getElementByID("onetrust-reject-all-handler").isExist Then
    '31      objBrowser.getElementByID("onetrust-reject-all-handler").click
    '32      Debug.Print "Reject Cookies"
    '33   End If
    4    objBrowser.getElementByID("email").value = Log
    5    objBrowser.getElementByID("password").value = Pass
    6    objBrowser.getElementByQuery("input[value='Entrer']").click
    10    objBrowser.quit
         Set elem = Nothing: Set objBrowser = Nothing
         Exit Sub
    ErrHandler:
         Debug.Print "Erreur ligne " & Erl: objBrowser.quit: Set elem = Nothing: Set objBrowser = Nothing
     
     
    End Sub
    Ami calmant, J.P
    =====================================================================
    Cher Ami calmant,
    Tout d'abord, merci d'avoir investigué aussi promptement

    0_ Je me pose la question à savoir qui sera le plus stable dans le temps New INTERNETNew & CDPBrowser ou autres ?

    1_ Essai avec New INTERNET:
    Nouveau, le bandeau "Accepter Refuser" semble venir à chaque fois (sans rapport avec ta proposition ?)

    Ta commande valide bien le login et affiche correctement la page suivante
    Mais le pb est que ce bandeau disparait puis revient aussitôt après l'affichage de la page suivante et reste

    Pour ma part dans ma version précédente je faisais un test sur le bandeau IsPresent


    2_ Essai avec New CDPBrowser :

    Erreur suivante:
    Pièce jointe 646525

    Y a t-il une installation pour New CDPBrowser , une option dans Références ou Programmes et fonctionnalités ?


    Je ne comprends pas je viens de lire qque part que CDPBrowser ne fonctionne pas avec le monde EDJE ??? (douteux)




    A+ ,merci D.R.
    =========================================

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 253
    Par défaut
    Citation Envoyé par clubleo Voir le message
    =====================================================================
    2_ Essai avec New CDPBrowser :

    Erreur suivante:
    Pièce jointe 646525

    Y a t-il une installation pour New CDPBrowser , une option dans Références ou Programmes et fonctionnalités ?
    c'est sûr que si tu ne fais pas ce qui est marqué dans mon lien pour l'installation cela va marcher beaucoup moins bien :

    This is a method to directly automate Chromium-based web browsers, such as Chrome, Edge, and Firefox, using VBA for Office applications by following the Chrome DevTools Protocol framework.
    This method enables direct automation with Chromium-based web browsers for VBA without the need for a third-party software like SeleniumBasic. The framework also includes many examples and useful functions added to the original repository while keeping the whole design as simple as possible to help you understand and get started quickly with deploying the CDP framework for your VBA solutions.
    For Demo
    Open CDP Framework.xlam and look for the module named "Demo" inside there.


    For Installation
    Download CDP Framework.xlam and open it.
    Copy CDPBrowser, CDPCore, CDPElement, CDPJConv classes over to your VBA project.
    Make sure your project has Microsoft Scripting Runtime reference.
    Les classes se trouvent dans l'extension CDP.Framework.v2.7.4.xlam dans le fichier zip CDP.Framework.v2.7.4.zip qui se trouve ici


    Ami calmant, J.P

  5. #5
    Membre averti
    Avatar de clubleo
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Mars 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Mars 2016
    Messages : 63
    Billets dans le blog
    1
    Par défaut
    Cher Ami calmant, bonjour

    Désolé pour ma précipitation et mon incompétence pour l'utilisation des classes (c'est une première).

    J'ai :
    - placé les 4 classes dans dans un fichier sans Pb
    - activé réf Microsoft Scripting Runtime
    - lancé Debogage Compiler VBA Project OK

    Ensuite j'ai lancé :
    - Demo Run EDJE - Test Trajet - Test Nuoma

    Malheureusement, les 3 tests me donnent la mm erreur :

    CDPBrowser Public fonction jsval Step1
    Set objMessage=core.jsConverter.ParseJson(strMessage)

    Erreur d'exécution '91' Variable objet ou variable de bloc with non defini

    Qu'ai-je raté ?

    Je compte sur toi.
    A+ D.R.

  6. #6
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 253
    Par défaut
    Hello,
    le plus simple est de mettre ton fichier en pièce jointe si il n'y a pas de données confidentielles dedans.
    Ami calmant, J.P

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/11/2011, 12h03
  2. stat avec excel vba
    Par winieloursonaub dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/09/2006, 20h44
  3. connexion internet avec wifi
    Par sousou_ dans le forum Hardware
    Réponses: 9
    Dernier message: 21/08/2006, 10h43
  4. Réponses: 3
    Dernier message: 22/05/2006, 11h03
  5. Réponses: 2
    Dernier message: 10/10/2005, 13h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo