Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Combobox multi-colonnes sans doublons

  • Initiateur de la discussion Initiateur de la discussion Mytå
  • 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 !

M

Mytå

Guest
Salut le forum

J'ai un blanc de mémoire

Je rempli un combobox sans doublons jusque la aucun problème

Dans la deuxième colonne je voudrais ajouter le numéro de la ligne

Le code à corriger
Code:
Private Sub UserForm_Initialize()
Dim Coll As New Collection
Dim Cellule As Range
With Me.ComboBox1
.ColumnCount = 2
.ColumnWidths = "126,126"
End With
With Sheets("BDD")
  For Each Cellule In .Range("D2:D" & .Range("D65535").End(xlUp).Row + 1)
    On Error Resume Next
    Coll.Add Cellule, CStr(Cellule)
    If Err = 0 Then Me.ComboBox1.AddItem (CStr(Cellule))
    On Error GoTo 0
  Next Cellule
End With
End Sub

Merci à l'avance

Mytå
 
Re : Combobox multi-colonnes sans doublons

Bonsoir Mytå,
Code:
Private Sub UserForm_Initialize()
Dim Coll As New Collection
Dim Lig As Integer
Dim Cellule As Range
Dim i As Byte
Dim Liste()
Lig = Sheets("BDD").Range("D65535").End(xlUp).Row + 1
ReDim Preserve Liste(0 To Lig, 0 To 1)
With ComboBox1
    .ColumnCount = 2
    .ColumnWidths = "126,126"
    .List = Liste
        For i = 0 To Lig
            Set Cellule = Sheets("BDD").Cells(i + 2, 4)
            .List(i, 0) = CStr((Cellule))
            .List(i, 1) = Cellule.Row
        Next
End With
End Sub
Mais je réduirais la 2ème colonne à ta place...

Cordialement
 
Dernière édition:
Re : Combobox multi-colonnes sans doublons

Bonsoir,

En bidouillant et farfouillant dans l'aide, je suis arrivé à ceci :


Private Sub UserForm_Initialize()
With Me.ComboBox1
.ColumnCount = 2
.ColumnWidths = "80;80"
End With
With Sheets("BDD")
Me.ComboBox1.List = Application.Transpose(Application.Transpose(.Range("D2:E" & .Range("D65536").End(xlUp).Row)))
End With
End Sub
 
Re : Combobox multi-colonnes sans doublons

Bonsoir

sinon, comme ceci :

Code:
Dim Coll As New Collection
Dim Cellule As Range
With Me.ComboBox1
.ColumnCount = 2
.ColumnWidths = "126,126"
End With
With Sheets("BDD")
  For Each Cellule In .Range("D2:D" & .Range("D65535").End(xlUp).Row + 1)
    On Error Resume Next
    Coll.Add Cellule, CStr(Cellule)
    If Err = 0 Then
        Me.ComboBox1.AddItem (CStr(Cellule))
        Me.ComboBox1.List(ComboBox1.ListCount - 1, 1) = Cellule.Row
    End If
    On Error GoTo 0
  Next Cellule
End With

par contre myta, pourquoi le +1 dans ta définition de plage :

For Each Cellule In .Range("D2😀" & .Range("D65535").End(xlUp).Row + 1)

salut
 
Re : Combobox multi-colonnes sans doublons

Salut Spitnolan08, Catrice, Hervé et le forum

Merci à vous tous

J'ai utilisé la méthode à Hervé.

Hervé pour le
For Each Cellule In .Range("D2 : D" & .Range("D65535").End(xlUp).Row + 1)

Un erreur que je n'avais pas remarqué, au pire une ligne de plus en
blanc dans la Combobox.

Mytå
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
908
Réponses
3
Affichages
332
Réponses
10
Affichages
661
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
4
Affichages
754
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…