Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Appliquer une meme macro pour plusieurs feuilles

L

lesuisse

Guest
Bonjour à toutes et à tous,

Je souhaiterai appliquer la macro ci-dessous à plusieurs feuilles de mon fichier.
Comment faire pour ne saisir le code qu'une seule fois et demander à EXCEL de l'appliquer à la feuille 01, 02, 03, 04, etc...
J'ai tenté avec Worksheets("01", "02", "03").select
Mais ca ne passe pas...

Merci de votre aide et bon vendredi

Le Suisse


Worksheets("01").Select
Range("A2").Select
ActiveWindow.FreezePanes = True
Range("A1:U1").Select
Selection.AutoFilter
Range("A2").End(xlDown).Offset(1, 0).Select
Range(Selection, Selection.End(xlDown)).EntireRow.Delete
Range("A2").Select
 
L

lesuisse

Guest
Salut Evelynetfrancois

Ben en fait j'ai une feuille "Menu" dans laquelle je commande toutes mes macros. Donc si je mets ActiveSheet.select, Excel va exécuter la macro dans la feuille "Menu" !

Il faudrait en fait préciser les feuilles pour lesquelles la macro doit s'exécuter...
C'est pour cela que j'avais pensé à mettre le nom des feuilles l'une derrière l'autre mais ca ne fonctionne pas...

Merci quand meme !
Bonne journée

Le Suisse
 
E

Evelynetfrancois

Guest
Sheets(Array("01", "02", "03")).Select
Selectionne tes feuilles à macrotiser (je sais pas si ça se dit ça... lol)
Sheets("menu").Activate
garde la feuil "menu" a l'ecran
bon courage

en fait ça fait comme quand on selectionne les onglets du bas par paquet pour leur faire subir une action commune

Evelynetfrancois
 
L

lesuisse

Guest
Re

Ca marche toujours pas parce qu'il buggue et me dit que la methode de selection n'est pas bonne au cours de la macro ci-dessous...

Que faire ?

Merci et @ +

Le Suisse


Sheets(Array("01", "02", "03")).Select
Range("A2").Select
ActiveWindow.FreezePanes = True
Range("A1:U1").Select
Selection.AutoFilter
Range("A2").End(xlDown).Offset(1, 0).Select
Range(Selection, Selection.End(xlDown)).EntireRow.Delete
Range("A2").Select
 
E

Evelynetfrancois

Guest
et si tu mets

Application.screenupdating=false

Sheets("01").Select
ici ta macro
puis
Sheets("02").Select
ici la macro
puis
Sheets("03").Select
ici la macro

puis
sheets("menu").select
end sub

a plus
Evelynetfrancois
 
L

lesuisse

Guest
Re re

C'est ce que j'avais fait au depart mais la Macro est énorme...
Le code ci-dessus n'est qu'une partie de la macro entière...

Je voulais donc eviter de copier/coller la macro pour chaque feuille...
Donc je cherchais quelque chose qui permette au départ de définir les feuilles dans lesquelles la macro doit s'exécuter...

A +

Le Suisse
 
P

Patrick

Guest
Si tu nommes la feuille comprenant les boutons qui appelle tes macro, Command (ou tout autre nom, essaie le code suivant, où Macro1 est le nom de ta macro a faire tourner.

L'avantage de ceci, c'est que le code est indépendant du nombre de feuilles dans ton fichier, tu peux donc en ajouter ou en retirer à volonté.

Grâce au test sur le nom de la feuille, tu peux évidemment exclure d'autre feuilles pour l'exécution de ta macro.

Sub Test()

Dim V_Sheet As Worksheet

For Each V_Sheet In Worksheets
V_Sheet.Activate
If ActiveSheet.Name <> "Command" Then
Macro1
End If
Next V_Sheet

End Sub
 
G

Guy

Guest
Bonjour,

J'ai un problème similaire:

j'utilise la macro suivante pour agir sur toutes les feuilles d'un classeur.

Public Sub Macro2()

For Each ws In ActiveWorkbook.Worksheets()

ws.Range("b4").FormulaR1C1 = "test5"

Next ws

End Sub

ou celle-ci pour agir sur des feuilles connues à l'avance:

Public Sub Macro2()

For Each ws In ActiveWorkbook.Worksheets(Array("feuil1", "feuil2"))

ws.Range("b4").FormulaR1C1 = "test50"
Range("B6").Select
Next ws

End Sub

Mais comment agir uniquement sur des feuilles sélectionnées par groupe de travail ?

Merci par avance.
Guy
 
G

Guy

Guest
j'ai finalement trouvé ma réponse dans les anciens sujets du site, voici la solution:

Sub macro3()
''
For Each ws In ActiveWindow.SelectedSheets

ws.Range("b4").FormulaR1C1 = "test5"

Next ws
End Sub

Génial ce site, j'espère que je pourrai y apporter ma contribution !
 

Discussions similaires

Réponses
2
Affichages
812
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…