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 :

Comment faire pour piloter internet en VBA depuis EXCEL ? [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut Comment faire pour piloter internet en VBA depuis EXCEL ?
    Bonjour y a t il une technique pour piloter internet ou intranet à l'aide de VBA, plus précisément commander une chaîne d'actions à faire sur internet

    --> cliquer sur un bouton --> insérer un mot dans une recherche --> puis cliquer à nouveau sur un autre bouton pour générer un export,

    au lieu de le faire à chaque fois à la main 3 fois par jours .

    Faire une macro vba pour chaque étape depuis vba

    1- ouvrir la page web sa --> ok

    2- ensuite dire de cliquer sur le bouton --> ne sais pas faire

    3- choisir dans la liste déroulante --> ne sais pas faire

    Merci de votre aide.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Qwazerty a fait un joli tutoriel sur la question ICI

  3. #3
    Membre très actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Bonsoir,
    Va voir ce super document http://qwazerty.developpez.com/tutor...-et-vba-excel/ réalisé par Qwazerty.

    Bonne lecture.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut
    Bonjour,

    Voici un bout de code qui marche très bien ouvre une page web + inscrit des données dans des cases vides auto cela --> OK

    Par contre : comment faire pour l'adapter à mon besoin: ce n'est pas des champs que je souhaite remplir mais des id issu HTML à déclencher pour automatiquement sélectionner puis cliquer sur un bouton etc..:


    Plusieurs éléments peuvent donc répondre au même name / id, la fonction va donc nous retourner un ensemble d'éléments correspondant au critère,


    1-/Dire EN VBA de cliquer sur liste déroulante WEB --> ne sais pas faire

    ma liste déroulante est : id="vccPos49"

    2-/sélectionner le titre de la requête deja enregistré pour la déclencher :

    id="REQUETE_NOM" name="REQUETE_ID" value='EXPORT'

    3-/cliquer sur bouton : id="ext-gen932"

    4-/ ensuite cliquer sur bouton : id="ext-gen2053" pour exporter et sauvegarder les données dans un répertoire

    Certaine page ayant pour attribut name « vccMenu» ainsi que tous les éléments ayant pour attribut id «vccForm».

    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
    50
    Public Sub ExpertResearch() ' Accès au programme Experts
    Dim maPageHtml As HTMLDocument
    Dim Helem As HTMLElementCollection
    Dim TypeDocument As String
    Dim Deleg As Object
    Dim HTMLDelegElement(100) As HTMLElementCollection
    Dim htmlDoc As Object
    Dim IESubmit As HTMLFormElement
    Dim IECtrl As HTMLFormElement
    Dim IE As Object
    Dim sLocalFilename As String
    Const READYSTATE_INTERACTIVE = 3
    Const READYSTATE_COMPLETE = 4
    'crée un objet internet Explorer
    Set IE = CreateObject("InternetExplorer.Application")
    'le masque
    IE.Visible = True
    'ouvre la page d'enregistrement de identification Ecti
    IE.navigate "http://www.intranet-ecti.org/asp/Experts/ExpertsActifs/selectionGenerale/filtre.asp"
    'attends que la page soit ouverte
    Do While IE.readyState <> READYSTATE_INTERACTIVE
    DoEvents
    Loop
    Do While IE.readyState <> READYSTATE_COMPLETE
    DoEvents
    Loop
    ' Formulaire
    'remplit les champs nécessaires...
    IE.document.all("AnNai").Value = "1960"
    IE.document.all("M10").Value = "COMPTABLE"
    IE.document.all("M11").Value = "GESTION test"
    IE.document.all("M12").Value = "AUDIT"
    IE.document.all("Dep1").Value = "75"
    IE.document.all("Dep2").Value = "77"
    IE.document.all("Dep3").Value = "78"
    IE.document.all("Dep4").Value = "91"
    IE.document.all("Dep5").Value = "92"
    IE.document.all("Dep6").Value = "93"
    IE.document.all("Dep7").Value = "98"
    IE.document.all("Dep8").Value = "95"
    Do While IE.readyState <> READYSTATE_INTERACTIVE
    DoEvents
    Loop
    '
    Do While IE.readyState <> READYSTATE_COMPLETE
    DoEvents
    Loop
    Set IESubmit = htmlDoc.forms(0)
    IESubmit.submit
    End Sub

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut
    Après avoir lu le tuto c un peu plus clair

    Voici la procédure Exemple qui fonctionne pour capitaliser des données sur page web depuis vba

    -->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IE.Document.all("AnNai").Value = "1960"
    name ="AnNai" value valeur capitalisée

    Dans mon cas voici mes éléments : le nom de ma requête REQUETE_ID

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id="REQUETE_NOM" name="REQUETE_ID" value='Exportcca'
    mais j'ai pas de valeur à capitaliser mais une action à déclencher une sorte de clique sur bouton.

    Je suis pas sur que le code ci-dessous est bon pour déclencher mon export ?

    -->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IE.Document.all("REQUETE_ID"").Value = "Exportcca"
    exemple qui fonctionne pour sauvegarder après saisies

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IE.Navigate2"javascript:vccaction('display=actions&action=save);"
    Merci si qq peu me dire si c bon ?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut
    Y-a -t-il une solution plus simple ou un code fonctionnel pour importé un fichier excel depuis internet:

    Choisir sur une liste déroulante à puis générer un export ?

    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
    Sub NaviguerPageWeb() 
     
    Dim IE As InternetExplorer 
    Dim maPageHtml As HTMLDocument 
    Dim Helem As IHTMLElementCollection 
     
    Set IE = CreateObject("internetExplorer.Application") 
    IE.Visible = True 
    IE.navigate "https://xxx" 
    Do Until IE.readyState = READYSTATE_COMPLETE 
    DoEvents 
    Loop 
    Set maPageHtml = IE.document 
    Set Helem = maPageHtml.getElementsByTagName("input") 
    For a = 0 To Helem.Length - 1 
    If Helem(a).getAttribute("name") = "userid" Then 
    Helem(a).innerText = "userid" 
    End If 
    If Helem(a).getAttribute("name") = "password" Then 
    Helem(a).innerText = "password" 
    SendKeys "{ENTER}", True 
    End If 
    Next 
     
    Do Until IE.readyState = READYSTATE_COMPLETE 
    DoEvents 
    Loop 
     
    IE.navigate "https://xxx" 
     
    Do Until IE.readyState = READYSTATE_COMPLETE 
    DoEvents 
    Loop 
     
    IE.navigate "https://xxx.action" ' lance le téléchargement du fichier excel

  7. #7
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, est-ce cela que tu cherches ?

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut excel /intranet
    Bonjour,

    Je souhaiterais importer un fichier excel d'intranet, d'après le post / tuto SilkyRoad Comment télécharger un fichier stocké sur le web ? voici un morceau de code. Mon point bloquant est qu'avant d'importer le fichier dans mon cas il est nécessaire de faire une étape :

    1-/Sélectionner la requête : name="REQUETE_ID "value="Export" choix dans la liste déroulante
    2-/Cliquer sur le bouton ‘’CHERCHER’’
    3-/Selectionner dans la liste déroulante Export_O pour déclencher et générer le fichier excel.

    http://excel.developpez.com/faq/?pag...rlDownloadFile

    Alors comment puis-je m'y prendre pour réussir ce pb ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub LancementProcedure()
        DownloadFile _
            "ftp://ftp-nomsite.com/dossier/nomfichier.pdf", "C:\rapport.pdf"
    End Sub

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    460
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 460
    Par défaut
    Nous allons procéder par étape

    Pour l'étape 1 l'idée serait de faire la sélection, es-ce que avec le code plus haut puis-je deja commencer à faire juste cette étape ?


    si oui faut-il que je déclare d'autres variables ?




    1-/Sélectionner la requête : name="REQUETE_ID "value="Export" choix dans la liste déroulante






    2-/Cliquer sur le bouton ‘’CHERCHER’



    3-/Selectionner dans la liste déroulante Export_O pour déclencher et générer le fichier excel.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/01/2006, 09h01
  2. Comment faire Copier/Coller par code VBA sur INTERNET...
    Par GESCOM2000 dans le forum Access
    Réponses: 5
    Dernier message: 02/01/2006, 13h19
  3. [VBA][Excel] Comment faire pour faire une boucle?
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 29
    Dernier message: 19/12/2005, 14h48

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