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

Messages postés
113
Date d'inscription
mardi 14 septembre 2010
Statut
Membre
Dernière intervention
26 octobre 2014
- - Dernière réponse : 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
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
3
Merci
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)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 202 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
68
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
25 avril 2013
3
Merci
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


@+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 202 internautes nous ont dit merci ce mois-ci

Commenter la réponse de rv83toulon
Messages postés
113
Date d'inscription
mardi 14 septembre 2010
Statut
Membre
Dernière intervention
26 octobre 2014
0
Merci
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
Commenter la réponse de iliesss