Masquer lignes valeurs se trouvant dans une autre feuille

Bonjour à tous,

Je suis nouveau sur ce forum et je débute en VBA.

J'ai cherché sur le forum et sur différents sites avant de poster cette question mais je n'ai pas trouvé toutes les informations me permettant de mettre en place ma macro.

J'aimerais un macro me permettant de masquer plusieurs lignes dans deux feuilles en fonction de la valeur (liste déroulante) d'une cellule se trouvant dans une autre feuille.

Lors de mes recherches, j'ai trouvé un code qui fonctionne mais il faut que tous les éléments soient dans la même feuille. Ici, je souhaite travailler sur plusieurs feuilles.

Dans mon fichier il y aurait 3 onglets :

  • MENU (ou se trouve la liste déroulante avec la valeur qui détermine si on masque ou non les lignes se trouvant dans les deux autres feuilles)
  • CTRL 1
  • CTRL 2

la condition serait la suivante :

Si on choisi "CLASSE" dans la liste déroulante de la feuille "MENU" (A1) alors masquer les lignes 10 à 15 de la feuille "CRTL1" et les lignes 30 à 50 de la feuille "CTRL2"

Par contre si on choisi autre chose que "CLASSE" aucune ligne ne doit être masquée.

Merci d'avance pour l'aide que vous pourrez m'apporter

Bonne journée

François

Comme ça c'est difficile de vous l'expliquer ! Pourriez-vous partager votre fichier excel pour qu'on puisse intervenir dessus ?

Bonjour,

Vous trouverez ci-joint le fichier. En espérant être assez clair dans ma demande .

Merci d'avance

franswe

37franswe.xlsx (11.83 Ko)

Bonsoir,

une surveillance événementielle sur la cellule A1 puis masquage ou démasquage des lignes

@ bientôt

LouReeD

91franswe.xlsm (18.54 Ko)

Bonjour,

Parfait ! Un tout grand merci pour ton aide

Bonne journée

françois

Mais de rien

@ bientôt

Loureed

Bonjour à tous,

Je vous sollicite à nouveau car je souhaiterais faire évoluer la macro en y ajoutant des conditions supplémentaires.

Toujours dans la feuille "MENU", on a une liste déroulante avec le choix de 8 "CLIENT" (D1). En fonction du client choisi, il faudrait masquer certaine partie de la feuille "annexe". Je pense que le code est relativement proche de ma première demande mais j'ai du mal à l'intégrer dans le code existant. j'ai essayé d'écrire le code avec IF et ELSEIF mais cela ne fonctionne pas correctement. Il masque bien des parties mais correctement ...

If Not Intersect(Target, Range("D1")) Is Nothing Then

If Target.Value = "CLIENT 1" Then

Sheets("ANNEXE").Rows("20:27").EntireRow.Hidden = True

ElseIf Target.Value = "CLIENT 5" Then

Sheets("ANNEXE").Rows("8:19").EntireRow.Hidden = True

Sheets("ANNEXE").Rows("26:27").EntireRow.Hidden = True

ElseIf Target.Value = "CLIENT 7" Then

Sheets("ANNEXE").Rows("8:24").EntireRow.Hidden = True

Else

Sheets("ANNEXE").Rows("8:27").EntireRow.Hidden = True

End If

End If

Les explications sont dans le fichier en pj.

Merci d'avance pour votre aide

Bonne soirée

François

33franswe.xlsm (21.59 Ko)
Rechercher des sujets similaires à "masquer lignes valeurs trouvant feuille"