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 :

Récupérer adresse de page web en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Par défaut Récupérer adresse de page web en VBA
    Bonjour,

    Je dois suivre le paiement des amendes des employés.
    J'ai donc un excel avec la liste des identifiant de Telepaiement.
    Actuellement, je vais manuellement sur le site des amendes https://www.amendes.gouv.fr/portail/.../saisienum.jsp
    Lorsque vous saisissez cet identifiant vous arrivez alors sur une page de confirmation avec entre autre une référence de confirmation de paiement.
    Je souhaiterz automatiser cela avec du code en VBA.
    J'ai suivi le tuturiel tres bien fait de Qwazerty http://qwazerty.developpez.com/tutor...-et-vba-excel/ mais j'ai un bug.
    Si joint mon code

    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
    Sub RechercheVBAExcel()
    'Déclaration des variables
    Dim IE As New InternetExplorer
    Dim IEDoc As HTMLDocument
    Dim ieIEWindow As SHDocVw.InternetExplorer
    Dim sIEURL As String
    Dim InputGoogleZoneTexte As HTMLInputElement
    Dim InputGoogleBouton As HTMLInputElement
     
       'Chargement d'une page Web 
       IE.navigate "https://www.amendes.gouv.fr/portail/paiement/saisienum.jsp"
     
       'Affichage de la fenêtre IE
       IE.Visible = True
     
       'On attend le chargement complet de la page
       WaitIE IE
     
       'On pointe le membre Document
       Set IEDoc = IE.document
     
       'On pointe notre Zone de texte
        Set cell1 = IEDoc.all("saisie1")
     
       'On définit le texte que l'on souhaite placer à l'intérieur
     
    cell1.Select
    Application.SendKeys "3"
    Application.SendKeys "3"
    Application.SendKeys "3"
    Application.SendKeys "6"
    Application.SendKeys "4"
    Application.SendKeys "4"
    Application.SendKeys "0"
    Application.SendKeys "1"
    Application.SendKeys "8"
    Application.SendKeys "9"
    Application.SendKeys "6"
    Application.SendKeys "6"
    Application.SendKeys "0"
    Application.SendKeys "1"
    Application.SendKeys "5"
    Application.SendKeys "1"
    Application.SendKeys "~"
    WaitIE IE
    msgbox( IE.LocationURL)
    Bon problème:
    Avec mon code j'arrive à saisir l'identifiant et arriver à la page qui me confirme que c'est payé ou à la page ou il faut que je paye si je n'ai pas encore payé.
    Le fait de récupérer l'adresse de la page me permettra de savoir si c'est payé ou pas.

    Mais mon me renvoie la page initiale et pas la nouvelle page qui est affichée.

    Comment est ce que je peux récupérer l'adresse de la nouvelle page qui vient de s'afficher?

    PS: Vu que les amendes sont personnelles, j'ai changé l'identifiant et mis un au pif. Vous n'arriverez donc pas à la page de paiement mais peut etre avez vu déjà recu une amendes et pourrez tester avec la votre :-).

    Merci d'avance pour votre aide.

    Olivier

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    j'ai la chance de n'avoir jamais utilisé ce site

    le titre des deux pages est peut être différent ?

    essaye de regarder la valeur de IEDoc.Title pour voir

    ou alors, rechercher un mot clé unique sur l'une des deux pages, si tu le trouves (ou pas), tu sais où tu es

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu ou lala!!
    bonjour

    bon visiblement tu a zaper plusieurs chapitres du tutoriel de qwazerty


    il y a plein d'erreur dans ton code et d'inutilité


    tu t'es contenté de recopier des elements de code de la demo du tuto sans comprendre ce que ca voulais dire
    je te suggere de le relire mais moins vite


    je vais tester cette url et je reviens
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re un premier model
    re
    bon voila une solution et il y en a bien d'autre
    seul probleme le nombre de touche que tu tapais est insuffisant il en manque 4
    j'ai donc ajouté 4 chiffres bidon pour l'exemple
    je n'utilise pas dans cet exemple le sendkey
    en effet selon les pc le "application.sendkey ne fonctionne que dans l'application excel

    alors on scinde le numero avec mid et on place les portions dans leur case respectives
    essai avec un code de paiment entier et deboque la ligne rouge pour le click valider & dis moi si ca fonctionne

    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
    Sub RechercheVBAExcel()
    'Déclaration des variables
        Dim IE As Object, IEDoc As Object
        Set IE = CreateObject("internetexplorer.application")
        IE.navigate "https://www.amendes.gouv.fr/portail/paiement/saisienum.jsp"    'Chargement d'une page Web
        IE.Visible = True    'Affichage de la fenêtre IE
        waitie IE
        Set IEDoc = IE.document    'On pointe le membre Document
        ' exemple de code 3336440189660151
        numero = "33364401896601515691"
        'On pointe les!!!!! Zones de texte sans utiliser de variables
        IEDoc.all("saisie1").innertext = Mid(numero, 1, 4)
        IEDoc.all("AMD_saisie2").innertext = Mid(numero, 5, 4)
        IEDoc.all("AMD_saisie3").innertext = Mid(numero, 9, 4)
        IEDoc.all("AMD_saisie4").innertext = Mid(numero, 13, 4)
        'je n'ai pas assez de chiffre pour remplir ces deux dernieres cases
        IEDoc.all("AMD_saisie5").innertext = Mid(numero, 17, 2)
        IEDoc.all("cle").innertext = Mid(numero, 19, 2)
        'IEDoc.all("I1").Click 'on clique maintenant sur le bouton valider
        waitie IE
    End Sub
    Function waitie(IE)
        Do: DoEvents: Loop While IE.readystate <> 4 Or IE.busy
    End Function
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Récupérer Adresse IP Serveur WEB
    Par mxh77 dans le forum 4D
    Réponses: 2
    Dernier message: 24/12/2010, 13h24
  2. Comment Enregistrer Une page WEB En VBA sous excel
    Par BEMI dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/05/2009, 23h15
  3. Extraire des données d'une page Web en VBA sous Excel
    Par BEMI dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/05/2009, 06h24
  4. Manipulation de formulaires et pages web en vba
    Par PSEUDOMONASSE dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/01/2009, 15h32
  5. Confirmer une fermeture de session d'une page Web en VBA?
    Par pegase33 dans le forum Général VBA
    Réponses: 2
    Dernier message: 05/09/2006, 14h42

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