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

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

3 réponses

cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
79
23 avril 2010 à 21:14
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)
3
rv83toulon
Messages postés
68
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
25 avril 2013

29 avril 2010 à 17:02
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


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

28 avril 2010 à 18:20
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
0