Cmt éxécuter une macro dans toutes les feuilles ?

Mesacraft Messages postés 4 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 8 novembre 2003 - 7 nov. 2003 à 16:52
Mesacraft Messages postés 4 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 8 novembre 2003 - 8 nov. 2003 à 09:20
J'ai x-1 feuilles (donc toutes les feuilles sauf la 1ere) qui se ressemble et sont actalisées tous les jours via une macro finie maintenant, seulement quand j'éxécute ma macro elle ne s'éxécute quand dans une feuille (celle active). Moi je voudrais qu'elle s'éxécute dans toutes les feuilles (et même si rajoute des feuiles qu'elle s'éxécute dans les new aussi). Seulement je ne sais pas si je dois selectionner toutes les feuilles de mon classeur et exclure la 1ere (dans ce cas comment faire ?), ou bien s'il existe une fonctione permettant d'executer la macro dans toute les feuilles sauf la première et idem comment faire.

Merci d'avance
Eric

4 réponses

cs_PhilippeE Messages postés 437 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 10 août 2010 2
7 nov. 2003 à 17:14
Dans ta macro tu peux générer une boucle sur les feuilles de ton classeur excel

For each MaWorksheet in CollectionWorkSheets
    If MaWorkSheet..Name <> "NomDeTaFeuille1" then
        ' Activation de la feuille
        MaWorksheet.Activate
        ' Exécution de la macro
        ...
    End If
Next MaWorksheet
0
Mesacraft Messages postés 4 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 8 novembre 2003
7 nov. 2003 à 17:42
C'est super lourd ! il faut le faire pour chacune de mes feuilles ? Car si je voudrais le faire pour chaque feuille il faudrait copier le code et mettre chaque code. Je voudrais que cela se fasse automatiquement pour chaque feuille. Merci d'avance
Eric
0
cs_PhilippeE Messages postés 437 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 10 août 2010 2
7 nov. 2003 à 18:23
Non, le code je t'es passé, tu l'intercale dans ta macro et il va traiter toutes les feuilles sauf celle que j'ai nommée "NomDeTaFeuille1"
0
Mesacraft Messages postés 4 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 8 novembre 2003
8 nov. 2003 à 09:20
Je vais te paraitre très bête et tu m'en excuseras, mais j'ai un ENORME soucis. Je suis débutant mais ça n'excuse pas tout mais là il faut que je remplace les termes MaWorksheet et CollectionWorksheets. Seulement je n'arrive pas à comprendre par quoi il faut que je les remplace.
Exemple avec un fichier qui se prenomme "test.xls", dont le nom de la feuille qui ne doit etre sujette à la macro est "Liste", et les 2 autres champs sont "Toto" et "Norbert".

J'ai essayé le code suivant pour savoir si ça fonctionnait et ça marche pas :
Sub Toutefeuille()
For Each Worksheet In test.xls
If WorkSheet.Name <> "Liste" Then
' Activation de la feuille
WorkSheet.Activate

' Exécution de la macro
Cells(1, 1).Select
ActiveCell.FormulaR1C1 = "Il fait beau"

End If
Next Worksheet

End Sub

Voilà désolé d'être chiant mais bon c'est pas trop mon domaine alors même en y mettant de la bonne volonté des fois on tombe sur des trucs tellement con que sans réponse on y arrive pas.
@+ Eric
0
Rejoignez-nous