[resolu] macro bidon mais je bloque...

21did21

XLDnaute Junior
salut tous,

je debut avec VBA et j'ai quelques soucis : je n'ai pas vraiment compris ces truc workbook et worksheet:

j'ai un fichier "testMACRO.xls" qui contient trois classeurs "donnees1", "classeur2", "Graph1" j'aimerai me déplacer dans un de ces classeurs.

j'ai fais ceci et ça marche:

Code:
Sub macroTest()
Worksheets("classeur2").Activate
End Sub

Par contre j'ai voulu le faire avec le chemin complet mais ça ne marche pas:

Code:
Sub macroTest()
Application.Workbooks("testMACRO").Worksheets("classeur2").Activate
End Sub

pouvez vous me dire où est mon erreur ? je n'ai pas trop compris ces notions

merci
 
Dernière édition:

Grand Chaman Excel

XLDnaute Impliqué
Re : macro bidon mais je bloque...

Bonjour,

Quelle est l'erreur au juste ?

Workbook : c'est ton fichier
Worksheet : c'est un onglet de ton fichier. (une feuille de calcul)

Dans ta 1re macro, tu actives, la feuille "classeur2" de ton fichier en cours
Dans ta 2e macro, tu actives la feuilles "classeur2" de ton fichier "testMacro"

Personnellement, j'utilise Application.workbooks("XXXX") quand ma macro est dans un fichier mais que je dois travailler avec un fichier différent.

Dans ton cas, si ta macro est dans ton fichier "testmacro", tu n'as pas besoin d'utiliser "Application.Workbooks("testMACRO"). Tu pourrais simplement utiliser :

ThisWorkbook.Sheets("classeur2")

A+
 

21did21

XLDnaute Junior
Re : macro bidon mais je bloque...

salut !
merci beaucoup d'avoir pris le temps de repondre :)

Quelle est l'erreur au juste ?

ça me renvoie vers la macro et ça me dit que ça doit etre passé en debogage

Workbook : c'est ton fichier
Worksheet : c'est un onglet de ton fichier. (une feuille de calcul)
Dans ta 1re macro, tu actives, la feuille "classeur2" de ton fichier en cours
Dans ta 2e macro, tu actives la feuilles "classeur2" de ton fichier "testMacro"

d'accord super ! c'est ce que j'avais cru comprendre , testMACRO est bien le nom de mon fichier donc ça devrait fonctionner normalement ?! il faut mettre l'extension peut etre ?


Dans ton cas, si ta macro est dans ton fichier "testmacro", tu n'as pas besoin d'utiliser "Application.Workbooks("testMACRO"). Tu pourrais simplement utiliser :

ThisWorkbook.Sheets("classeur2")

j'ai testé la deuxieme solution et en effet ça marche bien!
par contre la premiere solution devrait quand meme fonctionner non? moi elle ne marche pas... c'est pas tres grave mais j'aimerai comprendre pourquoi ça marche pas...
 

21did21

XLDnaute Junior
Re : macro bidon mais je bloque...

je viens de tester pourtant et ça marche !

j'ai une autre question stp:
=> au fait si je travail dans un ficher excel qui est C:/bibi/ddd.xls

et que ce fichier contient une macro qui va chercher des données dans un fichier:

=> D:/nono/fff.xls

comment dois je ecrire ceci dans la macro du 1er fichier ? car si je fais pplication.workbooks("ddd.xls").worksheets("classeur").activate il ne pourra pas trouver le second fichier vu qu'il n'est pas dans le meme dossier de travail ???

ps: merci pour ton aide
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
434

Statistiques des forums

Discussions
312 231
Messages
2 086 443
Membres
103 211
dernier inscrit
pierrecharbs