Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Liste déroulante avec condition

Monhtc

XLDnaute Occasionnel
Bonjour chers tous,
j'aimerais créer une liste déroulante dynamique avec condition de sorte à ce que si le nom entré ne figure pas préalablement dans la liste source, il soit accepté et s'y rajoute.
 
C

Compte Supprimé 979

Guest
Bonjour cher toi,

VB:
If Me.Combobox1.Listindex = -1 then
  ' La valeur n'existe pas, l'ajouter
  Sheets("MaFeuille").Range("A" & Rows.count).End(xlup).Offset(1,0).value = Me.Combobox1.Value
End If
 

JHA

XLDnaute Barbatruc
Bonjour à tous,
Bonjour BrunoM45

Je pense qu'il serait bien que tu annexes un exemple sur fichier afin d'essayer de te donner une solution qui correspond à ta demande.

JHA
 

job75

XLDnaute Barbatruc
Bonjour Monhtc, Bruno, JHA,

Si la ComboBox n'est pas dans un UserForm elle est dans la feuille de calcul, voyez le fichier joint et ce code :
VB:
Private Sub ComboBox1_GotFocus()
ComboBox1.Clear
If [K1].CurrentRegion.Count > 1 Then ComboBox1.List = [K2].Resize([K1].CurrentRegion.Count - 1, 2).Value
End Sub

Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If ComboBox1 = "" Or ComboBox1.ListIndex > -1 Then Exit Sub
If MsgBox("Voulez-vous ajouter '" & ComboBox1 & "' à la liste ?", 4) = 7 Then Exit Sub
[K1].Offset([K1].CurrentRegion.Count) = ComboBox1
[K1].CurrentRegion.Sort [K1], xlAscending, Header:=xlYes 'tri
ComboBox1_GotFocus
ComboBox1.DropDown 'déroule la liste
End Sub
A+
 

Pièces jointes

  • ComboBox(1).xlsm
    25.9 KB · Affichages: 10
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…