Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Eviter les doublons dans une Combo

3 réponses
Avatar
Hubert
Bonsoir à tous
Voici mon code :
Private Sub UserForm_activate()
Sheets("Base").Select
Me.ComboBox1.RowSource=("B2:B500")

Mon problème c'est les doublons, je voudrais pouvoir choisir un nom dans
cette liste mais ce nom peut apparaitre sur 10 lignes , est il possible
d'eviter ces répétitions ?
Merci d'avance
Cordialement
Hubert

3 réponses

Avatar
JFrancois QC
Salut Hubert,
Tu peux régler ton problème de doublons avec l'advanceFilter:

Private Sub UserForm_activate()
Sheets("Base").Select
range("D1").value=range("B1").value
Range("B1:B500").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"D1"), Unique:=True
Me.ComboBox1.RowSource="D2:D" & range("D1").end(xldown).row


Bonsoir à tous
Voici mon code :
Private Sub UserForm_activate()
Sheets("Base").Select
Me.ComboBox1.RowSource=("B2:B500")

Mon problème c'est les doublons, je voudrais pouvoir choisir un nom dans
cette liste mais ce nom peut apparaitre sur 10 lignes , est il possible
d'eviter ces répétitions ?
Merci d'avance
Cordialement
Hubert


Avatar
anonymousA
Bonjour,

solution classique si on veut faire abstraction de Rowsource ( qui
parfois peut être plus un inconvénient qu'un avantage, mais ca c'est à
toi de voir).Ces méthodes sont dans l'ensemble très rapides,en tout cas
suffisamment rapides pour 499 éléments ce qui est ton cas.

Private Sub UserForm_Initialize

dim coll as new collection

on error resume next
for each c in range("B2:B500")
coll.add c.value, cstr(c.value)
next

on error goto 0

for I=1 to coll.count
Me.ComboBox1.additem coll(I)
next

end sub

Si on veut trier avant de rentrer la collection dans le combobox, il
faut utiliser un algorithme de tri et ce n'est pas ce qui manque sur
tous les sites consacrés à VBA sous Excel.

A+

Bonsoir à tous
Voici mon code :
Private Sub UserForm_activate()
Sheets("Base").Select
Me.ComboBox1.RowSource=("B2:B500")

Mon problème c'est les doublons, je voudrais pouvoir choisir un nom dans
cette liste mais ce nom peut apparaitre sur 10 lignes , est il possible
d'eviter ces répétitions ?
Merci d'avance
Cordialement
Hubert


Avatar
Hubert
Merci J.Francois c'est génial ça marche d'enfer
à bientot peut etre puisque j'ai une autre question que je vais poster
maintenant !!

"JFrancois QC" wrote:

Salut Hubert,
Tu peux régler ton problème de doublons avec l'advanceFilter:

Private Sub UserForm_activate()
Sheets("Base").Select
range("D1").value=range("B1").value
Range("B1:B500").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"D1"), Unique:=True
Me.ComboBox1.RowSource="D2:D" & range("D1").end(xldown).row


Bonsoir à tous
Voici mon code :
Private Sub UserForm_activate()
Sheets("Base").Select
Me.ComboBox1.RowSource=("B2:B500")

Mon problème c'est les doublons, je voudrais pouvoir choisir un nom dans
cette liste mais ce nom peut apparaitre sur 10 lignes , est il possible
d'eviter ces répétitions ?
Merci d'avance
Cordialement
Hubert