XL 2010 macro appliqquée sur plusieurs feuilles

auloin

XLDnaute Junior
bonjour à tous

après plusieurs recherches je m'adresse à vous
j'ai crée un classeur avec deux macros qui s'appliquent sur les feuilles

sandwichs+sandwichs chaud
salades+wrap
chaud+soupes
desserts
sorties brasserie
sorties traiteur
surgelé
frais et sec

je suis obligé de cliquer sur les boutons de chaque feuille
j'aimerai un code qui me permettrait cliquant sur "filtre 1" et "stop fitre" (onglets prod brasserie et prod traiteur)
d'appliquer les macros sur les feuilles nommées ci dessus


merci par avance de votre aide
 

Pièces jointes

  • prod 3 ok 2017.xlsm
    183.8 KB · Affichages: 26

Iznogood1

XLDnaute Impliqué
Bonjour
Code:
Sub filtre()

  Dim ListeDesFeuilles As Variant
  Dim feuille As Variant
  ListeDesFeuilles = Array("salades+wrap", "chaud+soupes", " desserts")

  For Each feuille In ListeDesFeuilles
  For Ligne = 3 To 300
  Select Case (UCase(Worksheets(feuille).Range("c" & Ligne).Value))
  Case "0"
  Worksheets(feuille).Range("c" & Ligne).EntireRow.Hidden = True
  Case Else
  End Select
  Next Ligne
  Next feuille

End Sub

Je te laisse compléter le contenu du tableau ListeDesFeuilles
Attention, les valeurs doivent correspondre exactement aux noms de tes onglets
C'est pourquoi il y a un espace en premier caractère dans " desserts"
 

auloin

XLDnaute Junior
Bonjour
Code:
Sub filtre()

  Dim ListeDesFeuilles As Variant
  Dim feuille As Variant
  ListeDesFeuilles = Array("salades+wrap", "chaud+soupes", " desserts")

  For Each feuille In ListeDesFeuilles
  For Ligne = 3 To 300
  Select Case (UCase(Worksheets(feuille).Range("c" & Ligne).Value))
  Case "0"
  Worksheets(feuille).Range("c" & Ligne).EntireRow.Hidden = True
  Case Else
  End Select
  Next Ligne
  Next feuille

End Sub

Je te laisse compléter le contenu du tableau ListeDesFeuilles
Attention, les valeurs doivent correspondre exactement aux noms de tes onglets
C'est pourquoi il y a un espace en premier caractère dans " desserts"
 

Iznogood1

XLDnaute Impliqué
De la même manière
Code:
Sub remettre()

  Dim ListeDesFeuilles As Variant
  Dim feuille As Variant
  ListeDesFeuilles = Array("salades+wrap", "chaud+soupes", " desserts")
   
  For Each feuille In ListeDesFeuilles
  Worksheets(feuille).Range("$A$1:$C$133").AutoFilter Field:=3
  Next feuille

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 511
Messages
2 089 163
Membres
104 055
dernier inscrit
fxcas