Nom du fichier ou de la classe introuvable lors de l'opération Automation [Résolu]

ofouquay - 25 mars 2013 à 09:51 - Dernière réponse :  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
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscriptionModérateurStatut 28 août 2015 Dernière intervention - 25 mars 2013 à 13:43
3
Merci
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)

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de cs_Jack
MarcPL 172 Messages postés jeudi 8 décembre 2011Date d'inscription 21 juillet 2013 Dernière intervention - 25 mars 2013 à 13:46
0
Merci
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 !
Commenter la réponse de MarcPL
0
Merci
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
Commenter la réponse de ofouquay

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.