Erreur d'execution 432 nom du fichier ou de la classe introuvable Automation
ofouquay
-
14 mars 2013 à 14:07
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
15 mars 2013 à 13:52
Bonjour
Avant tout désolé si le post n'est pas à la bonne place, je ne savais pas vraiment ou le poster.
je viens de récupérer un fichier avec des macros qui fonctionnaient sous 2003 mais bug sous 2007
Voici le début de la macro
Sub Sam2()
'
' EXECUTION_GENERALE Macro
'
'On Error Resume Next
Dim obj, objxl As Object ' Variables d' objets Excel
Dim MyData As DataObject
Dim src, source, nb_lignes, nb_lines, i, j, k As Integer
Dim xls_file, xls_path, dif_file, dif_path, nom_classeur, txt, nv As String
Dim colonne(15) As String ' sert pour "conversion" du dif par rechercher/remplacer (",","."...)
Dim coldates(10) As String ' sert pour formatage des dates
Dim colheures(10) As String ' sert pour formatage des heures
Dim import As Boolean
Dim copier_formules As Boolean
Set MyData = New DataObject ' Sert au vidage du presse-papier avant fermeture dif
' import = True ' si import=false on traite la liste en cours sinon on importe le dif
copier_formules = False
Set objxl = GetObject(dif.Path)
Set objxl = Nothing
l'erreur "Erruer d'éxecution 432 nom du fichier ou de la classe introuvable Automation" s'affiche à l'avant dernière ligne (set objxl = Getobject(dif.path))
Je récupère un fichier .dif que je colle dans un fichier .xls
les 2 se trouvent dans le même répertoire
Merci de vore aide.
Olivier
A voir également:
Erreur d'execution 52 nom ou numero de fichier incorrect
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 14 mars 2013 à 16:31
Salut
Catégorie : c'est presque ça. --> VBA
Code : Utilise la coloration syntaxique = 3ème icone à droite
Il faut détailler ton code pour savoir que tu parles de Excel.
Impose-toi la déclaration obligatoire des variables (Options) et ajoute "Option Explicit" en tête de chaque page de code de ton projet.
Cela t'aurai permis de trouver cette erreur :
dif_Path et non dif.Path
Dim src, source, nb_lignes, nb_lines, i, j, k As Integer
Hélas, ceci ne veut pas dire que chaque variable sera de type Integer.
Elle seront toutes du type Variant (indéfini) sauf la dernière qui sera bien un Integer.
Cela peut influencer le comportement de ton programme.
Il faut déclarer le type pour chaque variable :
Dim src As Integer, source As Integer, nb_lignes As Integer, nb_lines As Integer, i As Integer, j As Integer, k As Integer
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 14 mars 2013 à 16:35
PS : Bannis définitivement l'usage de "On Error Resume Next" : Cela masque les erreurs.
Si tu l'utilises, c'est parce que l'instruction qui suit risque de provoquer un défaut. Ça peut arriver.
Mais aussitôt après avoir vérifié le code de défaut à la sortie de cette instruction, il faut immédiatement revenir à une gestion d'erreur classique :
Soit "On Error Goto monLabelErreur"
Soit "On Error Goto 0"
MarcPL
Messages postés172Date d'inscriptionjeudi 8 décembre 2011StatutMembreDernière intervention21 juillet 20132 14 mars 2013 à 16:43
Question déjà posée sur un autre forum. Il y verra la réponse ...
___________________________________________________________________________________________________________________
Comme la vitesse de la lumière est supérieure à celle du son, certains ont l'air brillant avant d'avoir l'air con !
Vous n’avez pas trouvé la réponse que vous recherchez ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 14 mars 2013 à 17:07
Bonjour,
Lorsque je lis des choses comme ces deux lignes qui se suivent :
Set objxl = GetObject(dif.Path)
Set objxl = Nothing
Je me dis qu'il est super clair que celui qui a écrit cela ne sait même pas pourquoi il l'a écrit. Et je fuis.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.