Menu déroulant

Fermé
thibss Messages postés 2 Date d'inscription jeudi 31 octobre 2013 Statut Membre Dernière intervention 31 octobre 2013 - 31 oct. 2013 à 11:22
sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 - 12 nov. 2013 à 09:22
Bonjour,

Dans mon programme excel, je souhaite afficher différents types de menus déroulant en fonction du choix utilisateur.

Je ne sais pas comment faire apparaître automatiquement un menu déroulant et le supprimer lorsque le choix utilisateur change, en sachant que mes menus déroulants vont chercher les informations sur une autre page ?

Ne serait-il pas plus pertinent de les rendre visibles et invisibles, quitte à ce que les menus se superposent ?

Merci d'avance pour votre aide,
A voir également:

4 réponses

thibss Messages postés 2 Date d'inscription jeudi 31 octobre 2013 Statut Membre Dernière intervention 31 octobre 2013
31 oct. 2013 à 12:00
Bonjour,

En fait, je souhaiterais le faire en VBA...
C'est à dire que si l'utilisateur sélectionne l'option 1, j'aimerais afficher un type de menu déroulant qui affiche certaines données, sinon, s'il sélectionne l'option 2, j'aimerais qu'un autre menu déroulant (ne contenant pas les mêmes informations) apparaisse...

Merci d'avance
0
sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
6 nov. 2013 à 14:40
Salut,

Je ne sais pas quel est ton niveau en VB, mais je peux toujours te donner une partie d'un code que j'utilise pour ça :

For Each projet In Sheets("refs").[O2:O10000]
If projet = "" Then Exit For
If projet.Offset(0, 1) = True And projet.Offset(0, -1) = temp4 Then
If temp2 = "" Then temp2 = projet.Value Else temp2 = temp2 & "," & projet.Value
End If
Next

En gros, je boucle sur des projets. Si le projet est actif (True) et qu'il correspond à une catégorie donnée (temp4), alors tu rajoute le nom du projet dans une liste déjà existante en ajoutant une "," (ici temp2).

Ensuite :

With Sheets("Saisie").Range("F9:G9").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=temp2
End With

Sur la feuille Saisie, la cellule F9, tu me supprime toute liste existante, puis tu m'en recréé une avec la valeur de temp2 que j'ai définie plus haut.

Pour faire simple, de ton côté, ca donnerait :

If projet = option1 Then
liste = "Opt1S1,Opt1S2,Opt1S3"
ElseIf projet = option2 Then
liste = "Opt2S1,Opt2S2,Opt2S3"
End If
With Sheets("Saisie").Range("F9:G9").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=liste
End With

Ca va ? Tu suis ? =)
0
sipherion Messages postés 1809 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
12 nov. 2013 à 09:22
Alors ? As tu eu le temps de tester mon code ?
0
felix.ol Messages postés 67 Date d'inscription mercredi 30 octobre 2013 Statut Membre Dernière intervention 9 mai 2015 11
31 oct. 2013 à 11:25
Bonjour,
Rend toi dans Mise en page et active les menu déroulant de ton choix.
A+
Félix
-1