[Déplacé VB6 --> VBA] executer un macro pour plusieurs feuilles a la fois [Résolu]

Signaler
Messages postés
113
Date d'inscription
mardi 14 septembre 2010
Statut
Membre
Dernière intervention
26 octobre 2014
-
rv83toulon
Messages postés
68
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
25 avril 2013
-
bonjour
aidez moi svp
je veux exécuter un macro pour plusieurs feuilles excel a la foi
merci beaucoup

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
Salut

On ne peut pas dire que tu soies super-précis !

En fait, tu peux lancer une même macro plusieurs fois à la suite, en lui fournissant le nom de la feuille sur laquelle ta macro agit.
Exemple :
Supposons que ta macro d'origine fasse ceci :
    Sub maMacro()
        Sheets("Feuil1").Range("A2").Select
        With Selection.Interior  ' Coloriage du fond
            .ColorIndex = 6
            .Pattern = xlSolid
        End With
    End Sub

Si tu veux que cette même macro agisse sur la feuille nommée "Autre feuille", il te faut rendre paramétrable le nom de la feuille.
Transforme ta macro comme ceci :
    Sub maMacro(NomFeuille As String) '          <-- Ici, ça change
        Sheets(NomFeuille).Range("A2").Select  ' <-- Ici, ça change
        With Selection.Interior  ' Coloriage du fond
            .ColorIndex = 6
            .Pattern = xlSolid
        End With
    End Sub

Et pour la lancer sur la feuille "Autre feuille" :
    Call maMacro("Autre feuille")

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
68
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
25 avril 2013

Salut, le forum
voici un code qui parcours chaque feuille du classeur et sélectionne la plage "A1:D10"
Sub selection()
 Dim Ws As Worksheet
 For Each Ws In Worksheets
  Ws.Activate
  Range("A1:D10").Select
 Next Ws
End Sub


@+
Messages postés
113
Date d'inscription
mardi 14 septembre 2010
Statut
Membre
Dernière intervention
26 octobre 2014

salut Mr jack
je vous remercier pour ton message
je vous donne un petit exemple pour mieu expliquer ma question
sub macro1()
range("a1:d10").select
end sub
moi je executer cette macro dans plusiers feuilles(feuil1,feuil2,feuil3,feuil4)a la foi