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 :

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
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
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
C’est au niveau du « ActiveSheet.Cells.Select » que j’ai l’impression que ce n’est plus suffisant…?

Merci de votre aide!


Souriane