Erreur d'execution d'une macro

cherki191410 Messages postés 13 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 12 juin 2009 - 8 juin 2009 à 14:08
cherki191410 Messages postés 13 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 12 juin 2009 - 12 juin 2009 à 10:36
Bonjour tt le monde
J'ai fait un petit code par lequel j'ouvre un classeur excel 2007 pour executer une macro excel
tout marche bien mais le problème c'est que un message d'erreur s'affiche "erreur définie par l'application ou par l'objet". SVP quelqu'un peut il m'aider à  resoudre le problème? Le code est le suivant:

Dim strMonFichierExcel As String
   
strMonFichierExcel = strRepertoireExcel & "C:\FINAL.XlSX"
 
MsgBox strMonFichierExcel 'Uniquement pour vérifier si le chemin est correct
   
Dim appExcel As Object
 
Set appExcel = CreateObject("Excel.Application")
 
appExcel.Visible = True
 
With appExcel
 
    .Workbooks.Open strMonFichierExcel
 
    .Run "PERSONAL.XLSB!Macro2"  'Macro à executer 
End With
     
 
Set appExcel = Nothing
End Sub

Lorsque j'ouvre le classeur normalement et je clique sur affichage, macro, afficher les macros, je trouve les macro inscrites. Mais le classeur ouvert via le code ne presente pas de macro je pense que c'est ça le problème mais comment puis je le résoudre?
Merci infiniment

8 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
8 juin 2009 à 14:21
Bonjour,

strMonFichierExcel = strRepertoireExcel & "C:\FINAL.XlSX" <= qu'obtiens tu comme chemein dans ton message box avec cela ???

A quoi correspond la variable  "strRepertoireExcel" ? Si c'est l'emplacement du chemin d'exel lui même alors c'est normal que cela ne fonctionne pas tu aura un chemin de type :

c:\Program File\Microsoft Office\OfficeX\C:\FINAL.XlSX

Mayzz
                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
cherki191410 Messages postés 13 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 12 juin 2009
8 juin 2009 à 14:41
Bonjour Mayzz
Merci pour ton attention, le repertoire est bien "C:\Documents and Settings\cherki\Bureau\DONNEE\RESULTAT\FINAL.XlSX" et j'execute le code avec cela, mais le message "erreur définie par l'application ou par l'objet". apparait toujours
Merci de ton aide
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
8 juin 2009 à 14:50
Tu dois avoir une erreur quelque part car strRepertoireExcel & "C:\FINAL.XlSX" ne peut en aucun cas donner : "C:\Documents and Settings\cherki\Bureau\DONNEE\RESULTAT\FINAL.XlSX" à la limite strRepertoireExcel & "\FINAL.XlSX" la oui !

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
0
cherki191410 Messages postés 13 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 12 juin 2009
8 juin 2009 à 15:05
Re Bonjour Mayzz
Le repertoire en question est fonctionnel et sa marche avec lui le fichier s'ouvre mais le probléme c'est juste à cette portion :
.Run "PERSONAL.XLSB!Macro2"  'Macro à executer          qui ne s'execute pas.
Merci encore Mayzz
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
8 juin 2009 à 15:26
Effectivement, si cela venais du nom de fichier tu en aurais été notfié, mais à l'avenir quand tu post, post le code réel de ton formulaire, sinon tu fais pertdre ton temps au autres à cercher des problème innexistant pour rien...

Le problème je pense, doit venir d'une erreur dans ta macro, celle-ci est exécuté mais une "erreur défini par l'application ou par l'objet survient", du coup ce n'est pas dans ce code qu'il faut regarder mais dans le code de ta macro.

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
0
cherki191410 Messages postés 13 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 12 juin 2009
8 juin 2009 à 15:39
RE
La macro est une macro excel generée et enregistree automatiquement par excel, je ne pense pas qu'il yaurait d'erreur. Merci beaucoup.
0
garion28 Messages postés 1543 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011
11 juin 2009 à 15:31
tu ouvre final.xlsx et tu execute une macro sur personal.xlsb ?
a moin que ce ne soit excel 2007 qui associe l'extension xlsb aux macro d'un xlsx, selon moi il y aurai une erreur
0
cherki191410 Messages postés 13 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 12 juin 2009
12 juin 2009 à 10:36
Bonjour Garion


Merci beaucoup le problème a été résolu.
0
Rejoignez-nous