liste du ComboBox = un nom

pmfontaine

XLDnaute Occasionnel
Bonjour a tous,
Après 2 heures de recherche dans le Forum, ou je n’ai pas troouvé de solution adaptable, je me décide à poser ma question.

Elément de départ :
Un classeur avec 2 feuille
Un Userform1
Un ComboBox1
La feuil1 comporte le bouton de commande :code = UserForm1.Show
La liste du ComboBox1 = «nomliste» (nom de la liste) dans feuil2 créer par : Insertion-Nom-Définir-=DECALER(feuil2!$A$2;0;0;NBVAL(feuil2!$A:$A)-1;1)

Mon problème :
1 / Quel scripte pour dire au comboBox1 de proposer la liste qui a pour nom « nomliste » ?
2 / Si le choix de l’utilisateur ne ce trouve pas dans la « nomliste » il l’écris et dans ce cas, la nouvelle donnée doit être rajoutée à la « nomliste »
N.B. Bien sur la donnée ne doit pas ce rajouter si elle existe déjà = Pas de doublon dans la liste.

Merci d’avance.
Patrick
 

lapix

XLDnaute Occasionnel
Re : liste du ComboBox = un nom

salut pmfontaine.

C'est normalement la propriete RowSource du combobox qui defini sont contenu

en VB ca donne ca :ListBox1.RowSource = "a1:e4"

Pour plus d'info tu peux te positionner dans la fenetre propriete du combo, choisir la propriete rowsource et faire F1.

XL fourni quelques exemple

Bonne journee
 

pmfontaine

XLDnaute Occasionnel
Re : liste du ComboBox = un nom

Merci pour ta réponse.
Mais au départ, j'ai essayé : ListBox1.RowSource = "feuil2!nomliste"
Mais apparament ça ne marche pas. Le problème et le nom créé par : Insertion-Nom-Définir-=DECALER(feuil2!$A$2;0;0;NBVAL(feuil2!$A:$A)-1;1)
Ensuite il y a la gestion des doublons.
Merci d'avance à ceux qui me proposerons une aide.
 

porcinet82

XLDnaute Barbatruc
Re : liste du ComboBox = un nom

Salut Patrick, Lapix,

Voila un code de l'ami Hervé qui permet de remplir une combo présente sur un USF. A toi de l'adapter.

PHP:
Private Sub ComboBox1_Click()
Dim c As Range
Dim data As Collection
Dim i As Byte
Set data = New Collection
ComboBox2.Clear
For Each c In Range("a2:a" & Range("a65536").End(xlUp).Row)
    If CStr(c) = ComboBox1 Then
        On Error Resume Next
        data.Add c.Offset(0, 1), CStr(c.Offset(0, 1))
        On Error GoTo 0
    End If
Next c
For i = 1 To data.Count
    ComboBox2.AddItem data(i)
Next i
End Sub

Voili, voilou,

@+
 

pmfontaine

XLDnaute Occasionnel
Re : liste du ComboBox = un nom

ReBonjour a tous,
Ne chercher plus !
J'ai trouvé dans le cours 2 de Jean Michel (Cours2jmg.zip) dans Téléchargement
Sub Action6()
Sheets("Feuil2").Select
Application.Wait (Now + TimeValue("0:00:03")) 'attente de 3 secondes
Sheets("Feuil2").Range("A2:B6").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheets("Feuil2").Range("C2:D6"), Unique:=True
End Sub
Merci à Tous
Patrick
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 332
Membres
103 519
dernier inscrit
Thomas_grc11