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é' ou 'permission refusée' [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2014
    Messages : 15
    Par défaut 'erreur automation erreur non spécifié' ou 'permission refusée'
    Voila j'ai une macro qui parcours des tableaux html et les recopie dans excel, quand je lance la macro en manuel en restant appuyé sur F8 aucun soucis mais quand j'essaye de la lancer automatiquement j'ai cette erreur 'erreur automation erreur non spécifié' qui apparait ou une erreur 'permission refusée'. C'est une des deux cela dépend des fois. Je ne vois pas d’où ça peut venir?
    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
    Dim ListeTableaux As mshtml.IHTMLElementCollection
            Dim ligneexcel As Integer
            Dim tableau As HTMLTable
            Dim k As Integer
            Dim i As Integer
            Dim l As Integer
     
            Worksheets(1).Activate
     
            Set ListeTableaux = oDoc.getElementsByTagName("table")
     
            'Parcours des tableaux
            For i = 0 To ListeTableaux.Length - 1
     
            Set tableau = ListeTableaux(i)
     
            'décalage d'une ligneexcel pour ne pas coller les tableaux
            If i <> 0 Then
            Let ligneexcel = ligneexcel + 1
            End If
     
                'Parcours des lignes du tableau en cours
                For k = 0 To tableau.Rows.Length - 1
     
                    'Parcours des colonnes du tableau
                    For l = 0 To tableau.Rows(k).Cells.Length - 1
                    Dim A As HTMLTableRow
                    Set A = tableau.Rows(k) ' L'erreur automation vient d'ici et parfois l'erreur de permission
     
                    'MsgBox A.Cells.Item(l).innerText
                    'parcourir cellules excel pour remplir on se met sur la ligne (k + lignexcel) et la colonne l
                    Cells(k + 1 + ligneexcel, l + 1).Value = A.Cells.Item(l).innerText 'permission refusé vient d'ici
                    Next
     
                Next
                ligneexcel = ligneexcel + k
     
            Next

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 153
    Par défaut
    Bonjour,

    Pourrais-tu dire à quelle ligne se produit l'erreur? Je pense qu'un "doevents" bien placé pourrait résoudre le problème si tu réussis à faire ça en pas à pas.

    Poulpe

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2014
    Messages : 15
    Par défaut
    J'ai modifié le Variant, par le bon type, je n'ai plus que l'erreur 'Permission refusé'. Cela arrive aux lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set A = tableau.Rows(k)
    ou alors à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(k + 1 + ligneexcel, l + 1).Value = A.Cells.Item(l).innerText
    J'ai noté dans le code en commentaire ou se produisait l'erreur.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 153
    Par défaut
    A tout hasard, je pense que ça vaut le coup de tenter avec un doevents juste avant la ligne qui plante:

    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
    Dim ListeTableaux As mshtml.IHTMLElementCollection
            Dim ligneexcel As Integer
            Dim tableau As HTMLTable
            Dim k As Integer
            Dim i As Integer
            Dim l As Integer
     
            Worksheets(1).Activate
     
            Set ListeTableaux = oDoc.getElementsByTagName("table")
     
            'Parcours des tableaux
            For i = 0 To ListeTableaux.Length - 1
     
            Set tableau = ListeTableaux(i)
     
            'décalage d'une ligneexcel pour ne pas coller les tableaux
            If i <> 0 Then
            Let ligneexcel = ligneexcel + 1
            End If
     
                'Parcours des lignes du tableau en cours
                For k = 0 To tableau.Rows.Length - 1
     
                    'Parcours des colonnes du tableau
                    For l = 0 To tableau.Rows(k).Cells.Length - 1
                    Dim A As HTMLTableRow
                    Set A = tableau.Rows(k) ' L'erreur automation vient d'ici 
     
                    'MsgBox A.Cells.Item(l).innerText
                    'parcourir cellules excel pour remplir on se met sur la ligne (k + lignexcel) et la colonne l
                    Do events
                    Cells(k + 1 + ligneexcel, l + 1).Value = A.Cells.Item(l).innerText 'permission refusé vient d'ici
                    Next
     
                Next
                ligneexcel = ligneexcel + k
     
            Next
    Le fait que tu utilises des éléments externes et que le code fonctionne en mode pas à pas m'incite à penser qu'il peut s'agir d'un problème de synchronisation.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2014
    Messages : 15
    Par défaut
    Doevents est attaché non? par ce que avec celui ci, ça ne change rien
    je voulais dire que Doevents ne change rien ^^
    Après je suis aller voir ce que ça faisait et je comprends pas comment ça pourrait résoudre mon problème?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 153
    Par défaut
    En effet, autant pour moi.

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

Discussions similaires

  1. [AC-2010] Erreur Automation, bibliothèque non inscrite
    Par Poulki dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/11/2012, 15h25
  2. [VB6] CopyFolder : erreur -> permission refusée
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 30/08/2006, 16h18
  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