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
 

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

Statistiques des forums

Discussions
315 095
Messages
2 116 169
Membres
112 676
dernier inscrit
little_b