OVH Cloud OVH Cloud

combobox à 2 collones

3 réponses
Avatar
Christian Raoux
Salut à ts

j'ai dans une feuille la collone A = liste projet en numérique
collone B = Nom projet

je voudrai que dans un ComboBox ou un ListBox afficher les 2 collones et
pouvoir rajouter en fin de liste
Ts cela via un Userform

merci d'avance

christian

3 réponses

Avatar
Denis Michon
Bonjour Christian,

Tu pourrais utiliser quelque chose du genre dans ton formulaire : Ce n'est qu'un exemple...

Il est supposé que ta liste en en colonne A1:Bx de la feuille 1

Que la première ligne de tes colonnes dans la feuille1 est réservé aux étiquettes de colonnes.

Si tu veux ajouter un item à la liste du combobox en saisissant directement dans le combobox, tu dois séparer les
items(colonne1 et colonne2 par un point virgule afin de pouvoir séparer les éléments

Cette procédure demande excel 2000 ou plus récent à cause de la fonction Split() non disponible dans les versions
antérieures.


'---------------------------
Private Sub AjouterUnItem_Click()

Dim Rg As Range, A As Variant, Tblo As Variant

If Me.ComboBox1.Text <> "" Then
If InStr(1, Me.ComboBox1.Text, ";") > 0 Then
Set Rg = Range("MaListe").Resize(Range("MaListe").Rows.Count + 1)
Rg.Name = "MaListe"
A = Split(Me.ComboBox1.Text, ";")
Rg(Rg.Rows.Count, 1) = A(0)
Rg(Rg.Rows.Count, Rg.Columns.Count) = A(1)
Me.ComboBox1.Clear
Tblo = Rg
Me.ComboBox1.List = Tblo
End If
End If
End Sub


Private Sub UserForm_Initialize()

Dim Tblo As Variant

With Worksheets("Feuil1")
.Range("A2:B" & .Range("B65536").End(xlUp).Row).Name = "MaListe"
Tblo = Range("MaListe")
Me.ComboBox1.ColumnCount = 2
Me.ComboBox1.ColumnWidths = "25;25"
Me.ComboBox1.Style = fmStyleDropDownCombo
Me.ComboBox1.MatchRequired = False
Me.ComboBox1.MatchEntry = fmMatchEntryComplete
Me.ComboBox1.List = Tblo
End With

End Sub
'---------------------------


Salutations!



"Christian Raoux" a écrit dans le message de
news:
Salut à ts

j'ai dans une feuille la collone A = liste projet en numérique
collone B = Nom projet

je voudrai que dans un ComboBox ou un ListBox afficher les 2 collones et
pouvoir rajouter en fin de liste
Ts cela via un Userform

merci d'avance

christian
Avatar
Christian Raoux
Salut et merci

mais j'ai été obligé de modifier dans AjoutUnItem_click()
la dernière ligne
Me.ComboBox1.List = Tblo par Me.ComboBox1.List = "MaListe"
car j'avais un erreure : incompatibilité de type

merci

christian

"Denis Michon" écrivait
news:mQKub.40202$:

Bonjour Christian,

Tu pourrais utiliser quelque chose du genre dans ton formulaire : Ce
n'est qu'un exemple...

Il est supposé que ta liste en en colonne A1:Bx de la feuille 1

Que la première ligne de tes colonnes dans la feuille1 est réservé aux
étiquettes de colonnes.

Si tu veux ajouter un item à la liste du combobox en saisissant
directement dans le combobox, tu dois séparer les items(colonne1 et
colonne2 par un point virgule afin de pouvoir séparer les éléments

Cette procédure demande excel 2000 ou plus récent à cause de la
fonction Split() non disponible dans les versions antérieures.


'---------------------------
Private Sub AjouterUnItem_Click()

Dim Rg As Range, A As Variant, Tblo As Variant

If Me.ComboBox1.Text <> "" Then
If InStr(1, Me.ComboBox1.Text, ";") > 0 Then
Set Rg = Range("MaListe").Resize(Range("MaListe").Rows.Count +
1) Rg.Name = "MaListe"
A = Split(Me.ComboBox1.Text, ";")
Rg(Rg.Rows.Count, 1) = A(0)
Rg(Rg.Rows.Count, Rg.Columns.Count) = A(1)
Me.ComboBox1.Clear
Tblo = Rg
Me.ComboBox1.List = Tblo
End If
End If
End Sub


Private Sub UserForm_Initialize()

Dim Tblo As Variant

With Worksheets("Feuil1")
.Range("A2:B" & .Range("B65536").End(xlUp).Row).Name = "MaListe"
Tblo = Range("MaListe")
Me.ComboBox1.ColumnCount = 2
Me.ComboBox1.ColumnWidths = "25;25"
Me.ComboBox1.Style = fmStyleDropDownCombo
Me.ComboBox1.MatchRequired = False
Me.ComboBox1.MatchEntry = fmMatchEntryComplete
Me.ComboBox1.List = Tblo
End With

End Sub
'---------------------------


Salutations!



"Christian Raoux" a écrit dans le message de
news:
Salut à ts

j'ai dans une feuille la collone A = liste projet en numérique
collone B = Nom projet

je voudrai que dans un ComboBox ou un ListBox afficher les 2 collones
et pouvoir rajouter en fin de liste
Ts cela via un Userform

merci d'avance

christian




Avatar
Denis Michon
Bonsoir Christian,

Effectivement, tu as raison... je devais avoir la tête ailleurs ;-))


Salutations!


"Christian Raoux" a écrit dans le message de
news:
Salut et merci

mais j'ai été obligé de modifier dans AjoutUnItem_click()
la dernière ligne
Me.ComboBox1.List = Tblo par Me.ComboBox1.List = "MaListe"
car j'avais un erreure : incompatibilité de type

merci

christian

"Denis Michon" écrivait
news:mQKub.40202$:

Bonjour Christian,

Tu pourrais utiliser quelque chose du genre dans ton formulaire : Ce
n'est qu'un exemple...

Il est supposé que ta liste en en colonne A1:Bx de la feuille 1

Que la première ligne de tes colonnes dans la feuille1 est réservé aux
étiquettes de colonnes.

Si tu veux ajouter un item à la liste du combobox en saisissant
directement dans le combobox, tu dois séparer les items(colonne1 et
colonne2 par un point virgule afin de pouvoir séparer les éléments

Cette procédure demande excel 2000 ou plus récent à cause de la
fonction Split() non disponible dans les versions antérieures.


'---------------------------
Private Sub AjouterUnItem_Click()

Dim Rg As Range, A As Variant, Tblo As Variant

If Me.ComboBox1.Text <> "" Then
If InStr(1, Me.ComboBox1.Text, ";") > 0 Then
Set Rg = Range("MaListe").Resize(Range("MaListe").Rows.Count +
1) Rg.Name = "MaListe"
A = Split(Me.ComboBox1.Text, ";")
Rg(Rg.Rows.Count, 1) = A(0)
Rg(Rg.Rows.Count, Rg.Columns.Count) = A(1)
Me.ComboBox1.Clear
Tblo = Rg
Me.ComboBox1.List = Tblo
End If
End If
End Sub


Private Sub UserForm_Initialize()

Dim Tblo As Variant

With Worksheets("Feuil1")
.Range("A2:B" & .Range("B65536").End(xlUp).Row).Name = "MaListe"
Tblo = Range("MaListe")
Me.ComboBox1.ColumnCount = 2
Me.ComboBox1.ColumnWidths = "25;25"
Me.ComboBox1.Style = fmStyleDropDownCombo
Me.ComboBox1.MatchRequired = False
Me.ComboBox1.MatchEntry = fmMatchEntryComplete
Me.ComboBox1.List = Tblo
End With

End Sub
'---------------------------


Salutations!



"Christian Raoux" a écrit dans le message de
news:
Salut à ts

j'ai dans une feuille la collone A = liste projet en numérique
collone B = Nom projet

je voudrai que dans un ComboBox ou un ListBox afficher les 2 collones
et pouvoir rajouter en fin de liste
Ts cela via un Userform

merci d'avance

christian