Excel macros repeter sur plusieurs feuilles
MOMO
-
picard -
picard -
Bonjour,
J'ai les mêmes opérations à exécuter sur 4 feiulles différentes portant chacune un nom particulier. Je voudrais pouvoir ne pas répèter 3 fois supplémentaires les mêmes instructions.
Si quelqu'un a une solution, merci.
J'ai les mêmes opérations à exécuter sur 4 feiulles différentes portant chacune un nom particulier. Je voudrais pouvoir ne pas répèter 3 fois supplémentaires les mêmes instructions.
Si quelqu'un a une solution, merci.
Configuration: Windows XP Internet Explorer 6.0
3 réponses
-
salut,
tu peux faire un truc du genre :For Each ws In ActiveWorkbook.Worksheets If ws.Name = "Feuil1" Or ws.Name = "Feuil2" Then toncode End If Next ws
-
Re,
peux-tu stp mettre ton code, qu'on regarde ou ça cloche ?-
Salut et merci,
mon code, c'est 3 fois ça: (pour 3 feuilles différentes)
Sheets("GENERAL").Select
For z = 1 To 50
If Cells(z + 2, 18) = SUPPRIM Then
Range(Cells(z + 2, 18), Cells(z + 2, 41)).Select
Selection.Delete Shift:=xlUp
End If
Next z
J'ai remplacé par:
For Each ws In ActiveWorkbook.Worksheets
If ws.Name = "GENERAL" Or ws.Name = "DROITE" Or ws.Name = "MATERIAU" Then
For z = 1 To 50
If Cells(z + 2, 18) = SUPPRIM Then
Range(Cells(z + 2, 18), Cells(z + 2, 41)).Select
Selection.Delete Shift:=xlUp
End If
Next z
End If
Next ws
J'ai aussi esayé ceci:
Sub Macro1()
For Each ws In ActiveWorkbook.Worksheets
If ws.Name = "Feuil1" Or ws.Name = "Feuil3" Or ws.Name = "Feuil4" Then
If Cells(2, 1) <> "" Then Cells(1, 1).Copy Destination:=Cells(4, 5)
End If
Next ws
End Sub
ça n'opère que sur la feuille active même sur la 2 ou la 5...
-
-
Salut,
Il fauut que tu précises sur quelle feuille tu travailles dans la boucle, par défaut c'est la feuille active (ActiveSheet) :Sub Macro1() For Each ws In ActiveWorkbook.Worksheets If ws.Name = "Feuil1" Or ws.Name = "Feuil3" Or ws.Name = "Feuil4" Then If ws.Cells(2, 1) <> "" Then ws.Cells(1, 1).Copy Destination:=ws.Cells(4, 5) End If Next ws End Sub