Les Allergies
Alimentaires
Posez votre question Signaler

Excel macros repeter sur plusieurs feuilles

MOMO - Dernière réponse le 25 janv. 2010 à 18:24
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.
Lire la suite 

Excel macros repeter sur plusieurs feuilles »

6 réponses
Réponse
+0
moins plus
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

MOMO - 22 janv. 2010 à 18:04
Bonsoir,
Je te remercie, mais avec moi, ça ne marche pas.
J'ai pourtant essayé de respecter srupuleusement ton écriture.
Je ne comprends pas.
Ajouter un commentaire
Réponse
+0
moins plus
Re,
peux-tu stp mettre ton code, qu'on regarde ou ça cloche ?
MOMO - 23 janv. 2010 à 10:11
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...
Ajouter un commentaire
Réponse
+0
moins plus
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

picard - 25 janv. 2010 à 18:24
Merci, cette fois, ça marche.
Ajouter un commentaire
Ce document intitulé « Excel macros repeter sur plusieurs feuilles » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?