Problème avec remplissage combobox sans doublon

  • Initiateur de la discussion Initiateur de la discussion jofdm
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jofdm

XLDnaute Occasionnel
Bonsoir le forum,

J'ai un USF avec 2 combobox.
Pour les 2 combobox, les données à afficher se trouvent dans la feuille RecapMP.
Pour la combobox1, les données se trouvent sur la plage R1 à R12, sans possibilité de doublons.
Pour la combobox2, les données se trouvent sur la plage G3:G600, avec possibilité de doublons.

Ma question est donc la suivante : quel code dois-je taper pour alimenter mes 2 combobox (la combobox 2 ne devant pas présenter de doublons) ?
J'ai essayé ceci :
Private Sub UserForm_Activate()
Me.ComboBox1.RowSource = "RecapMP!R1:R" & Sheets("RecapMP").Cells(1, 1).End(xlDown).Row
Me.ComboBox2.RowSource = "RecapMP!G3:G" & Sheets("RecapMP").Cells(1, 1).End(xlDown).Row
End Sub

Mais sans succès :-(
Merci d'avance pour votre aide
 
Re : Problème avec remplissage combobox sans doublon

Bonsoir Spitnolan08,
Entre mon post et ta réponse j'ai effectivement eu le temps de trouver ce fil qui a résolu mon problème de doublon.
Petite question supplémentaire : jusqu'à présent, toutes les combobox que j'ai créées étaient en "butée" à la dernière valeur de la plage de référence.
Or là, alors que j'utilise le même code que d'habitude, ma combobox1 continue de défiler sur à peu près 3 lignes après la dernière valeur de la plage.
Une idée ?
 
Re : Problème avec remplissage combobox sans doublon

Bonjour,

Méthode + rapide avec Dictionnary:

Listes sans doublons triée


Code:
Private Sub UserForm_Initialize()
  Set MonDico = CreateObject("Scripting.Dictionary")
  For Each c In Range([A2], [A65000].End(xlUp))
     If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value
  Next c
  Me.ComboBox1.List = MonDico.items
End Sub

JB
Formation Excel VBA JB
 
Re : Problème avec remplissage combobox sans doublon

bonjour jofdm Spitnolan08 BOISGONTIER le forum
une autre facon sans cells vide assez rapide

Option Explicit
Dim T, i, z As Variant, l As Collection
Private Sub UserForm_Initialize()
On Error Resume Next
Set l = New Collection
T = Range("A3:a" & Range("A65536").End(xlUp).Row)
For i = LBound(T) To UBound(T)
l.Add T(i, 1), T(i, 1): Next
For Each z In l
cbx1.AddItem z: Next
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
333
Réponses
5
Affichages
418
Réponses
5
Affichages
917
Réponses
15
Affichages
793
Retour