A voir également:
- Appliquer une macro sur plusieurs feuilles
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Fusionner plusieurs feuilles excel en une seule - Guide
- Comment faire un livret avec des feuilles a4 - Guide
- Comment supprimer une feuille sur word - Guide
3 réponses
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
21 janv. 2010 à 19:24
21 janv. 2010 à 19:24
salut,
tu peux faire un truc du genre :
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
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
22 janv. 2010 à 18:30
22 janv. 2010 à 18:30
Re,
peux-tu stp mettre ton code, qu'on regarde ou ça cloche ?
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...
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...
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
25 janv. 2010 à 17:12
25 janv. 2010 à 17:12
Salut,
Il fauut que tu précises sur quelle feuille tu travailles dans la boucle, par défaut c'est la feuille active (ActiveSheet) :
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
22 janv. 2010 à 18:04
Je te remercie, mais avec moi, ça ne marche pas.
J'ai pourtant essayé de respecter srupuleusement ton écriture.
Je ne comprends pas.