Comment faire un Menu déroulant dans excel ? [Résolu/Fermé]

xavier - 1 sept. 2004 à 08:58 - Dernière réponse :  Ju
- 4 sept. 2017 à 15:50
Bonjour,
Je cherche à faire un menu déroulant dans un tableau sur excel. Ce menu déroulant doit me permettre de faire un choix dans une liste pour incrémenter mes cellules. Ce menu déroulant doit apparaitre à côté des cellules que je souhaite remplir.
Comment faire ? Merci pour l'aide.
Afficher la suite 

20 réponses

purrofixe 493 Messages postés dimanche 14 mars 2004Date d'inscription 12 septembre 2007 Dernière intervention - Modifié par Jeff le 28/03/2017 à 09:48
+533
Utile
17
Bonjour Xavier,
Je vous propose ce qui suit :
  • Sur une autre feuille du classeur vous entrez les valeurs de votre choix sous forme de colonne.
  • Retour dans votre feuille de données et clic sur la cellule ou vous voulez que le choix intervienne.
  • Barre d’outil : Données\Validation
  • Onglet Options : sous Autoriser, choisir Liste
  • Sous Source : l’adresse de votre champ de valeurs (exp. =$A$6:$A$11)
  • Sur OK pour terminer
  • Glisser\Coller pour les autres cellules.

Bonne journée.

Salutations
Jean-Pierre
Cette réponse vous a-t-elle aidé ?  
Thank JP that was really helpful and clear!
Merci pour votre aide. .. Plus claire que certains tutoriels. ..
Cordialement
meego78 2 Messages postés jeudi 17 janvier 2008Date d'inscription 17 janvier 2008 Dernière intervention - 17 janv. 2008 à 14:54
+26
Utile
1
Bonjour,

pour les couleurs, tu fais Menu Format -> Mise en forme conditionnelle

Tu mets tes conditions "La valeur de la cellule égale MC" tu cliques sur le bouton format et tu choisis la couleur désirée

Tu cliques sur le bouton Ajouter. Et là tu mets autant de conditions que tu désires ( enfin pas 50000 ! )

Voila pour les couleurs


Pour les totaux : c'est du VBA ( ALT+F11 )

Pour par exemple "traquer" les valeurs entre les cellules J16 à N31
ColStart = "J": ColEnd = "N"
LigneStart = 16: LigneEnd = 31




Inserer un module et y mettre ce code
Global flag As Byte

Private Sub Worksheet_Change(ByVal Target As Range)
If flag = 1 Then Exit Sub

Rem
Rem on traque entre les colonnes J et N
Rem et entre les lignes 16 et 31
Rem

ColStart = "J": ColEnd = "N"
LigneStart = 16: LigneEnd = 31

Cellule = Target.Address
Dollar = InStr(2, Cellule, "$")
colonne$ = Mid$(Cellule, 2, Dollar - 2)
Ligne$ = Mid$(Cellule, Dollar + 1)

If (colonne$ >= ColStart And colonne$ <= ColEnd) Then
If (Ligne$ >= LigneStart And Lignes <= LignesEnd) Then
For Colonnes = Asc(ColStart) To Asc(ColEnd)
For Lignes = LigneStart To LigneEnd
Longueur = Len(Cells(Lignes, Colonnes - 64).Text)
Select Case Longueur
Case 1
P = P + 1
Case 2
MC = MC + 1
Case 3
MSC = MSC + 1
End Select
Next Lignes
flag = 1
Cells(LigneEnd + 1, Colonnes - 64).Value = "MC = " + CStr(MC)
Cells(LigneEnd + 2, Colonnes - 64).Value = "MSC = " + CStr(MSC)
Cells(LigneEnd + 3, Colonnes - 64).Value = "P = " + CStr(P)
flag = 0
MC = 0: MSC = 0: P = 0
Next Colonnes
End If
End If
End Sub


Voila, cela devrait faire l'affaire !
Merci pour tout ces conseils!!! C'est vraiment cool Excel!!!

Juste pour tempérer un peu ta réponse: apparement on ne peut pas mettre tant de conditions que ça... Je n'arrive à en mettre que 3... Ca dépend sûrement de la version de Excel qu'on a (mon PC du boulot, qui tourne sous Windows 2000, yiiiiipie!)

En tout cas merci pour vos TRES bon tuyaux!

iokLaiok