Nom du fichier ou de la classe introuvable lors de l'opération Automation

Résolu
ofouquay - 25 mars 2013 à 09:51
 ofouquay - 25 mars 2013 à 14:42
Bonjour

Je tiens tout d'abord à préciser que je ne maitrise pas le language VBA.
J'ai un fichier excel avec des macros qui fonctionnait bien sous 2003 mais bug sous 2007.
Je n'ai rien modifié au fichier.
Je cherche à ouvrir un fichier DIF, à le copier dans un fichier excel déjà ouvert.
Voici le début de codage du fichier excel :

Sub Sam2()
'
' EXECUTION_GENERALE Macro
'
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

Application.ScreenUpdating = False
Application.DisplayAlerts = False


xls_file = ActiveWindow.Caption ' Récupération du nom du fichier XLS en cours (--> permet le renommage)

'Identification du fichier dif:
nom_classeur = VBA.Left$(xls_file, Len(xls_file) - 4)
dif_file = nom_classeur & ".dif"
xls_path = ActiveWorkbook.FullName
dif_path = VBA.Left$(xls_path, Len(xls_path) - 4) & ".dif"

Set objxl = GetObject(dif_path)

J'ai le message d'erreur suivant quand j'arrive à la dernière ligne:
Erreur d'exécution '432'
Nom du fichier ou de la classe introuvable lors de l'opération
Automation

Le fichier DIF et XLS sont bien dans le même dossier.

Merci de votre aide

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
25 mars 2013 à 13:43
Salut

On t'a déjà répondu mais tu n'en as pas tenu compte et tu n'as pas poursuivi.
On a vraiment l'impression de perdre du temps à te répondre ...

Dernière tentative ...
Qu'y a t-il dans ta variable dif_path au moment de l'erreur ?
Méthode de débogage :
- F9 sur une ligne de code; elle change de couleur
Le programme s'y arrêtera au prochain passage.
Lors de l'arrêt, survole avec la souris tes variables pour visualiser leur contenu, ou va dans la fenêtre de debogage (Ctrl-G) et tape
? maVariable
pour qu'elle s'inscrive dans la fenêtre.
- F8 (VB6) ou F10 (.Net) pour avancer d'une ligne de code
- F5 pour continuer normalement

A quoi te sert xls_file ?
Ton programme est encombré de plein de lignes qui ne servent à rien.
Essaye de comprendre ces lignes et de supprimer celles qui sont inutiles.

A tester :
Ce fichier .DIF, quand tu double-cliques dessus, que se passe t-il ?
Si windows te propose d'aller chercher sur internet quel programme peut gérer ce genre de fichier, c'est que ce type d'objet n'est pas géré par le système. C'est un problème d'installation.

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)
3
MarcPL Messages postés 172 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 21 juillet 2013 2
25 mars 2013 à 13:46
Bonjour ! Comme déjà évoqué sur un autre forum (‼),
  même en 2003 cela ne fonctionne pas en l'état.
Comme de réponse je n'ai pas eu, arrêté là je me suis …

___________________________________________________________________________________________________________________
Comme la vitesse de la lumière est supérieure à celle du son, certains ont l'air brillant avant d'avoir l'air con !
0
Bonjour Jack

En effet j'ai déjà posté ce sujet mais je ne comprenais pas les réponses.

Donc, dans la variable dif_path il y a bien le nom du fichier que je veux ouvrir

dif_path : "C:\DocSurf\SAM_rapports\Rapport_Michelin\Rapport_SAM_CITRIX\RapportHistoMichelin.dif" : Variant/String

Par contre, j'ai essayé de l'ouvrir en double cliquant dessus et rien ne se passe. J'ai même essayé de faire un clic droit et ouvrir avec et je choisis EXCEL et rien ne se passe. Pour l'ouvrir je dois ouvrir excel.
Peut-être est ce une piste à mon pb.

xls_file c'est le nom du fichier excel qui est ouvert

xls_file : "RapportHistoMichelin.xls" : Variant/String

Les autres lignes servent mais après car c'est dès le début de la macro que ça bloque.

Merci de ton aide
0
Rejoignez-nous