Bonjour,
Je suis plutôt bonne en VBA, mais j’ai toujours travaillé avec essai-erreur sachant très bien que parfois, je complique ma macro pour rien. Mais je parviens toujours à mes fins. Mais cette fois-ci quelque chose cloche et je me doute que c’est parce que je ne fais pas selon les règles de l’art. Donc voici.
J’ai plusieurs macros qui appellent d’autres submacros pour agir sur chacun des onglets de certains fichiers.
La MacroA appelle la submacro MaMacro1 + MaMacro 3 + MaMacro 8
La MacroB appelle la submacro MaMacro1 + MaMacro 5 + MaMacro 8
Comment dois-je faire, par exemple, dans « MaMacro1 » pour être sûre que la macro agisse bien sur « MaFeuille » de l’array?
Exemple de la macro MacroA :
Exemple de ce que j’écris ACTUELLEMENT dans MaMacro1 et qui semblait fonctionner jusqu’ici mais depuis quelques jour, on dirait que rendu au 2e Array, il continue d’agir sur le 1er array…?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Sub MacroA() Dim MesFeuilles As Sheets Dim MaFeuille As Worksheet Set MesFeuilles = Worksheets(Array("Dossier1", "Dossier2", "Dossier3", "Dossier4")) For Each MaFeuille In MesFeuilles Module.MaMacro1 Module.MaMacro3 Module.MaMacro8 Next MaFeuille End Sub
C’est au niveau du « ActiveSheet.Cells.Select » que j’ai l’impression que ce n’est plus suffisant…?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub MaMacro1() 'Tri le tableau final ActiveSheet.Cells.Select Selection.Sort Key1:=Range("E1"), Order1:=xlDescending, Header:=xlNo, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal End Sub
Merci de votre aide!
Souriane
Partager