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 :

Erreur Automation, erreur non spécifié -214746259(80004005)


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Erreur Automation, erreur non spécifié -214746259(80004005)
    Bonjour,

    comme pour la discussion : http://www.developpez.net/forums/d12...tion-question/

    j'ai eu le message d'erreur suivant "Erreur Automation, erreur non spécifié -214746259(80004005)". bizarrement mon programme à fonctionner sur plus de 75 lignes avant de s'arreter et de m'envoyer ce message. et j'ai eu du jaune lors du débogage sur la ligne deux (spécifiés dans le code).
    J ai testé presque toutes les solutions du forums en vain çà fini toujours par s'arreter.

    j'ai pas pu tester la tienne brigitte peux tu me guider? c'est quoi un prompt stp et où mettre cette macro(si c'est est une)
    OU si quelqu'un veut bien me porter secours
    Malheureusement j ai pas le droit d'exporter le fichier hors du réseau de l'entreprise. Mais voici le 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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    Sub COMPA ()
    Dim r%
    r = Selection.Row
     
    Dim ie As New InternetExplorer
    ie.Visible = False 'nonvisible sur l'ouverture du site'
     
        ie.navigate ("https://www.google.fr/?gws_rd=ssl#q=" & "societe.com " & Cells(r, "C") & " " & Cells(r, "R")) 'ouvrir directement google avec la recherche des tiers'
        While ie.ReadyState <> 4 'en attente qu'il soit terminé'
            DoEvents
        Wend
        Set dmt = ie.Document
        Set tbs = dmt.all.tags("a") 'chercher tous les tags a (hyperlien)'
        For i = 0 To tbs.Length - 1
            If InStr(tbs(i), ".html") Then 'pour tous les tiers chez societe.com, la forme formule toujours 9 chiffre nb ....+.html
            a = InStr(tbs(i), ".html") 'note la position du .html'
                If IsNumeric(Mid(tbs(i), a - 9, 9)) Then 'vérifier les 9 caractères avant .html sont chiffres ou pas'
                s1 = Mid(tbs(i), a - 9, 9)
                Exit For 'normalement la première recherche google est le bon résultat, on fini cette macro pourvu qu'on trouve le ....'
                End If
            End If
        Next
     
        ie.navigate ("https://www.google.fr/?gws_rd=ssl#q=" & "societe.com " & Cells(r, "C") & " " & Cells(r, "Q")) 'ouvrir directement google avec la recherche des tiers'
        While ie.ReadyState <> 4 'en attente qu'il soit terminé'
            DoEvents
        Wend
        Set dmt = ie.Document
        Set tbs = dmt.all.tags("a") 'chercher tous les tags a (hyperlien)'
        For i = 0 To tbs.Length - 1
            If InStr(tbs(i), ".html") Then 'pour tous les tiers chez societe.com, la forme formule toujours 9 chiffre nb ...+.html
            a = InStr(tbs(i), ".html") 'note la position du .html'
                If IsNumeric(Mid(tbs(i), a - 9, 9)) Then 'vérifier les 9 caractères avant .html sont chiffres ou pas'
                s2 = Mid(tbs(i), a - 9, 9) 'si oui, afficher ces 9 chiffres'
                Exit For 'normalement la première recherche google est le bon résultat, on fini cette macro pourvu qu'on trouve le ....'
                End If
            End If
        Next
     
        If s1 = s2 And s1 <> vbNullString Then
        Cells(r, "T") = s1
        GoTo a
        Else
        ie.navigate ("http://www.societe.com/cgi-bin/search?champs=" & Cells(r, "C"))
     
        Do Until ie.ReadyState = READYSTATE_COMPLETE
            DoEvents
       Loop
        Set dmt = ie.Document
        Set tbs = dmt.all.tags("div")
        For i = 0 To tbs.Length - 1
            If InStr(tbs(i).innerhtml, Cells(r, "R")) > 0 And InStr(tbs(i).innerhtml, ".html") > 0 Then
                arr = Split(tbs(i).innerhtml, "<A class")
                For j = 0 To UBound(arr)
                    If InStr(arr(j), Cells(r, "R")) > 0 And InStr(arr(j), ".html") > 0 Then
                        a = InStr(arr(j), ".html")
                        If IsNumeric(Mid(arr(j), a - 9, 9)) Then
                        Cells(r, "T") = Mid(arr(j), a - 9, 9)
                        GoTo a
                        End If
                    End If
                Next j
            End If
        Next i
        End If
     
     
    a:  ie.Quit
        Set tbs = Nothing
        Set dmt = Nothing
        Set ie = Nothing
     
    End Sub
     
    Sub recursif()
    Application.ScreenUpdating = False
    r = Selection.Row
    l = Range("A1").CurrentRegion.Rows.Count
    For Each c In Range("T" & r & ":T" & l).SpecialCells(xlCellTypeVisible)
    c.Select
    SIRENCOMPA
    Next
    Application.ScreenUpdating = True
    End Sub

  2. #2
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    Bonjour nzesseu,

    Je ne sais pas si ça va résoudre ton problème mais r est un variable qui récupère un numéro de ligne.
    Tu écris Dim r% donc r est de type Integer c'est à dire 32767 maximum.

    Je te conseil de la passer en Long car dans un classeur il y a plus de 32767 lignes.

  3. #3
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 3
    Points : 3
    Points
    3
    Par défaut merci anthony mais effectivement çà ne résout pas mon problème puisque mes données n' excèdent jamais 5000
    merci anthony mais effectivement çà ne résout pas mon problème puisque mes données n' excèdent jamais 5000 lignes
    j'ai peur que çà soit une histoire d'ejection de google ou un truc de la sorte sinon pourquoi le programme fonctionnerait sur 50 ligne et pas plus?

    Bref cherchons encore!

  4. #4
    Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 3
    Points : 3
    Points
    3
    Par défaut solution trouvée
    Bonjour tous
    si comme moi vous avez ce type de message , ne paniquez pas. Il y a une solution. J ai ajouté une instruction de gestion d'erreur à la place du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while .... DOevents Loop
    Ainsi j'ai mis un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      On Error Go To error 'juste après la déclaration des variables 
     
    error: sleep j*1000
     if j > 10 Then 
    j=5
    Else j=j+1
    End If 
    Resume
    le 1000 c'est pour le millisecond. Pensez à déclarer la fonction sleep avec ses paramètres et j as integer.

    Merci pour vos avis

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

Discussions similaires

  1. [XL-2010] 'erreur automation erreur non spécifié' ou 'permission refusée'
    Par arthurc02 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 05/07/2014, 20h29
  2. [AC-2010] Erreur Automation, bibliothèque non inscrite
    Par Poulki dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/11/2012, 15h25
  3. [1.1] Erreur argument non spécifié
    Par neuropathie dans le forum ASP.NET
    Réponses: 3
    Dernier message: 14/07/2006, 18h52
  4. Erreur non spécifiée... plus de form
    Par directs dans le forum EDI
    Réponses: 5
    Dernier message: 26/01/2006, 09h31

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