Selection de feuilles

  • Initiateur de la discussion Initiateur de la discussion hambel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

H

hambel

Guest
bonjour,

j'ai plusieurs listes déroulantes différente sur plusieurs feuilles.
je voudrais déclarer au début de chaque liste de code la feuille qu'il lui correspond

j’espère que j'été assez claire

cordialement.
 

Pièces jointes

Re : Selection de feuilles

bonjour,
merci pyprof mai ce n'est pas sa,
voila j'ai 3 feuille qui contienne différente liste déroulante, celles ci sont gérer par des code vba,
quand je tape mes codes il faut déclarer avant la feuille qui correspond a ces code.
je donnerai l'exemple dans le fichier suivant
merci d’avance.
Private Sub Worksheet_Change(ByVal Target As Range)
(feuille saisie)
Rows("2:3").Hidden = [B1] <> "oui"
If [B1] = "non" Then Rows("2:3").Hidden = True
If [B1] = "oui" Then Rows("2:3").Hidden = False

(feuille HP)
Rows("2").Hidden = [B1] <> "oui"
If [B1] = "non" Then Rows("2").Hidden = True
If [B1] = "oui" Then Rows("2").Hidden = False
 
Re : Selection de feuilles

Re,

Bon j'ai enfin compris. Alors il y a 2 solutions :

1) Vous mettez le même code dans chacune des 3 feuilles "saisie", "HP", "BP".

Vous n'avez rien à déclarer, circulez 🙄

2) Vous ne mettez aucun code dans ces 3 feuilles mais vous mettez dans ThisWorkbook :

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "liste de choix" Or _
  Intersect(Target, Sh.[B1:B4]) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
If Target.Address = "$B$1" And Sh.[B1] = "oui" Then Sh.[B2] = "pressostatique"
If Target.Address = "$B$2" And Sh.[B2] = "automate" Then Sh.[B3] = "A"
If Target.Address = "$B$2" And Sh.[B2] = "regulateur" Then Sh.[B4] = "D"
Sh.Rows("2:4").Hidden = Sh.[B1] <> "oui"
If Sh.[B2] = "pressostatique" Then Sh.Rows("3:4").Hidden = True
If Sh.[B2] = "automate" Then Sh.Rows(4).Hidden = True
If Sh.[B2] = "regulateur" Then Sh.Rows(3).Hidden = True
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
8
Affichages
305
Réponses
1
Affichages
210
Réponses
40
Affichages
2 K
Réponses
1
Affichages
282
W
Retour