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 :

Problème avec une macro sous excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club Avatar de Enrico78
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Problème avec une macro sous excel
    Bonjour, j'ai un problème avec une macro qui quand je la lance, elle doit récupérer des données sur une page Web, mais voilà elle ne que le navigateur et ne fait rien d'autre.

    Voici le code de la macro :
    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
    Sub coursereunion()
    '
    ' coursereunion Macro
    '
    Mafeuill = "coursereunion"
    dossier = "testA.xls"
    Dim IE As InternetExplorer
     
       'Initialisation des variables
       Set IE = CreateObject("InternetExplorer.Application")
     
       'Chargement d'une page Web Google
       IE.Navigate "http://www.geny.com/reunions-courses-pmu/_d2015-04-27"
       'Affichage de la fenêtre IE
       IE.Visible = True
    Do Until IE.readyState = READYSTATE_COMPLETE
          DoEvents
       Loop
       Set IEDoc = IE.document
     
        nbTable = IEDoc.getElementsByTagName("a").Length
     
        Dim n As Integer
        n = 1
     
        For i = 0 To nbTable - 1
     
       Set Textul = IEDoc.getElementsByTagName("a").Item(i)
       lienA = Textul.innerText
       lienAdre = Textul
     
       If lienA = "partants/stats/prono" Then
     
        Workbooks(dossier).Sheets(Mafeuill).Cells(n, 1).Value = lienAdre
     
        n = n + 1
        End If
     
        Next i
    '
    End Sub

  2. #2
    Community Manager

    Avatar de Malick
    Homme Profil pro
    Community Manager
    Inscrit en
    Juillet 2012
    Messages
    9 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Community Manager
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9 223
    Points : 85 182
    Points
    85 182
    Billets dans le blog
    15
    Par défaut


    Ce tutoriel pourrait vous être utile :

    Interaction avec Internet Explorer via VBA Excel


    Vous pouvez également vous inspirer des réponses apportées dans cette discussion.

    Cordialement

  3. #3
    Candidat au Club Avatar de Enrico78
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 9
    Points : 4
    Points
    4
    Par défaut solution non concluente
    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 coursereunion()
    '
    ' coursereunion Macro
    '
    Mafeuill = "coursereunion"
    dossier = "testA.xls"
    Dim IE As InternetExplorer
     
    'Initialisation des variables
    Set IE = CreateObject("InternetExplorer.Application")
     
    'Chargement d'une page Web Google
    IE.Navigate "http://www.geny.com/reunions-courses-pmu/_d2015-04-27"
    'Affichage de la fenêtre IE
    IE.Visible = True
    Do Until IE.readyState = READYSTATE_COMPLETE
    DoEvents
    Loop
    Set IEDoc = IE.document
     
    nbTable = IEDoc.getElementsByTagName("a").Length
     
    Dim n As Integer
    n = 1
     
     
    For i = 0 To nbTable - 1
     
     
    Set Textul = IEDoc.getElementsByTagName("a").Item(i)
    lienA = Textul.innerText
    lienAdre = Textul
     
    If lienA = "partants/stats/prono" Then
     
     
     
    Workbooks(dossier).Sheets(Mafeuill).Cells(n, 1).Value = lienAdre
     
    n = n + 1
    End If
     
     
    Next i
    '
    End Sub
    Bonjour tout le monde,

    magret le tutoriel le fichier avec cette macro ne marche qu'avec la version internet explorer version 8, mais des que l'on passe à une autre version, la page du site s'ouvre mais rien ne se passe.
    Le fichier doit récupéré des donnée de course de chevaux.
    et pour vous dire que c'est assez complexe, car cette macro et fichier on été enregistrer dans la version d'excel 2000, système d'exploitation "Windows XP pro" et Internet Explorer version 8.
    j'ai virtualisé trois OS (Windows XP pro) avec chacun la version d'Internet Explorer 8 et chacun avec une version différente d'Excel (Excel 2000, Excel 2003 et Excel 2007) et le fichier avec la macro ne marche pas (ne vas pas jusqu'au bout sans dire qu'il y a une erreur).
    Mais il fonction avec Windows 7, Internet Explorer 8 et Excel 2013, mais des que je suis passer à Internet explorer 11, fini sa ne marche plus.

    Aidé moi je suis perdu.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 197
    Points : 300
    Points
    300
    Par défaut
    Crée un nouveau module et copie/colle ce qui suit à l'intérieur :

    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
     
    Option Explicit
     
    Public Enum READYSTATE
        READYSTATE_UNINITIALIZED = 0
        READYSTATE_LOADING = 1
        READYSTATE_LOADED = 2
        READYSTATE_INTERACTIVE = 3
        READYSTATE_COMPLETE = 4
    End Enum
     
    Public Sub coursereunion()
     
        Dim IE As Object
        Dim IEDoc As Object
        Dim nbTable As Long
        Dim i As Long
        Dim Textul As Object
        Dim lienA As String
        Dim n As Integer
     
        Set IE = CreateObject("InternetExplorer.Application")
        IE.Navigate "http://www.geny.com/reunions-courses-pmu/_d2015-04-27"
        IE.Visible = True
     
        Do Until IE.READYSTATE = READYSTATE_COMPLETE
            DoEvents
        Loop
     
        Set IEDoc = IE.document
        nbTable = IEDoc.getElementsByTagName("a").Length
     
        n = 1
        For i = 0 To nbTable - 1
            Set Textul = IEDoc.getElementsByTagName("a").Item(i)
            lienA = Textul.innerText
            If Trim(lienA) = "partants/stats/prono" Then
                Workbooks(1).Sheets(1).Cells(n, 1).Value = Textul
                n = n + 1
            End If
        Next i
     
        IE.Quit
        Set IEDoc = Nothing
        Set IE = Nothing
    End Sub
    Ca devrait fonctionner mieux.

  5. #5
    Candidat au Club Avatar de Enrico78
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Pas de changement
    Sa ne marche toujours pas quelque soit la version d'Excel (2000, 2003, 2007 et 2013), malgré le nouveau code.

Discussions similaires

  1. Réponses: 13
    Dernier message: 02/06/2015, 22h43
  2. [XL-2010] Problème avec une macro Excel pour fermer un classeur
    Par benadry dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/10/2013, 16h48
  3. [XL-2000] Remplir un champ texte d'une page internet avec une macro sous excel 2000
    Par salent9 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/05/2011, 22h40
  4. Problème avec une macro faisant apel à un tableau Excell
    Par valouche dans le forum Macros et VBA Excel
    Réponses: 52
    Dernier message: 19/06/2007, 13h38
  5. [ODBC] Un problème avec une reqête sous PHP
    Par zackrel dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 15/05/2006, 13h09

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