Merci en fait je voudrais sélectionner ces 50 feuilles contiguës afin de faire exécuter ma macro M1Bonjour
ton "du genre" montrant une initialisation d'array (sans être suivi de sélection), précise stp :
Toutes à la fois ou toutes, une après l'autre ?
For Each sh In Worksheets(Array(1, 2, 3))
' tes instructions
Next
Ok MerciLe code auquel tu as pensé convient si, comme tu le laisses penser, tu dois traiter ces feuilles une après l'autre.
Tu pourrais d'ailleurs l'écrire également ainsi :
VB:For Each sh In Worksheets(Array(1, 2, 3)) ' tes instructions Next
Sub Exemple_5_Feuilles()
Dim ws As Worksheet, i%, tabF(4) '-> tabF(49) pour 50 feuilles
i = 0
For Each ws In ActiveWorkbook.Worksheets
Select Case ws.Name
Case 1 To 5 '-> Case 1 to 50 pour 50 feuilles
tabF(i) = ws.Name
i = i + 1
End Select
Next ws
Sheets(tabF).Select False
End Sub
Dim w As Worksheet
For Each w In Worksheets
Call M1(w)
Next
Dim i%
For i = 1 To IIf(Worksheets.Count > 50, 50, Worksheets.Count)
Call M1(Worksheets(i))
Next