XL 2016 Liste déroulante avec condition

Monhtc

XLDnaute Junior
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.
 

BrunoM45

XLDnaute Barbatruc
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
 

Monhtc

XLDnaute Junior
MERCI BRUNOM45,
ce code marche probablement avec u formulaire, serait il possible sans un mais directement sur une cellule de la feuille?
 

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+
 

Fichiers joints

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas