Bouton pour renvoyer vers des feuilles en fonction d'une liste déroulante

Pompon

XLDnaute Nouveau
Bonjour tout le monde,

J'ai une liste déroulante (dans plusieurs cases fusionnées D16 à L16) avec plusieurs choix : 1 couche, 2 couches, 3 couches....

Je voudrais créer un bouton et lui associer une macro qui, en fonction du choix dans la liste déroulante me renvoie vers l'onglet qui lui est associé. J'ai déjà créer les onglets "1 couches", "2 couches"... La macro du bouton me permettrait alors de rediriger vers l'onglet.

Merci d'avance.

Note : je suis débutant ! :)
 

camarchepas

XLDnaute Barbatruc
Re : Bouton pour renvoyer vers des feuilles en fonction d'une liste déroulante

Bonjour ,

Bienvenue sur Xld ,

Même en étant débutant si tu veux faire de l'Excel , il faut au moins un fichier afin que l'on ai le même contexte que le tiens,

Il sera Xls ou Xlsm à ton choix ..;
 

camarchepas

XLDnaute Barbatruc
Re : Bouton pour renvoyer vers des feuilles en fonction d'une liste déroulante

Bon comme j'ai écris , je poste

@ Hello Joss
Petite variante sécurité et cas de 1 couche :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Pluriel As String
'Si l'on ce trouve dans la colonne D
If Target.Column = 4 Then
  'Si D16 >1 on prévoit le rajout du s
  If Range("D16") > 1 Then Pluriel = "s"
 'Prise en main gestion d'erreur si feuille n'existe pas
  On Error Resume Next
  'Sélection de la feuille choisie
  Sheets(Range("D16") & " couche" & Pluriel).Select
 ' Si numéro d'erreur  alors affiche message
  If Err.Number > 0 Then MsgBox "La feuille " & Range("D16") & " couche" & Pluriel & " n'est pas dans ce classeur"
 'Redonne le controle erreur au système
  On Error GoTo 0
End If
End Sub
 

joss56

XLDnaute Accro
Re : Bouton pour renvoyer vers des feuilles en fonction d'une liste déroulante

Sheets(Range("D16") & " couches").Select

L'instruction dit à Excel : sélectionne (Select) la feuille (Sheets) qui s'appelle "le contenu de la cellule D16" c'est à dire 1,2,3 etc... + le mot "couches" précédé d'un espace -> pour appeler les feuilles telles que tu les as nommées.
J'espère que c'est un peu plus clair

Jocelyn
 

Pompon

XLDnaute Nouveau
Re : Bouton pour renvoyer vers des feuilles en fonction d'une liste déroulante

Merci !

Oui c'est vrai que la première macro ne prend pas en compte le S de couche bien vu !

J'ai capté le deuxième programme sauf ; If Target.Column = 4 Then.

Pourquoi préciser cela alors que juste après tu parles de D16 ? donc en colonne 4 ?

Merci beaucoup en tout cas !
 

camarchepas

XLDnaute Barbatruc
Re : Bouton pour renvoyer vers des feuilles en fonction d'une liste déroulante

Re ,'
La colonne 4 étant D , mais il faut aussi bridé par la ligne donc
il faudrait même écrire : if target.address="$D$16" then

comme cela si un changement à lieu dans un autre endroit de la feuille , la macro ne s'éxécute pas
 

Discussions similaires

Statistiques des forums

Discussions
311 730
Messages
2 081 989
Membres
101 856
dernier inscrit
Marina40