[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 14006 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
Rejoignez-nous