Menu déroulant

thibss Messages postés 2 Statut Membre -  
sipherion Messages postés 2462 Statut Membre -
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 Statut Membre
 
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 2462 Statut Membre 286
 
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 2462 Statut Membre 286
 
Alors ? As tu eu le temps de tester mon code ?
0
felix.ol Messages postés 94 Statut Membre
 
Bonjour,
Rend toi dans Mise en page et active les menu déroulant de ton choix.
A+
Félix
-1