Comment faire pour ajouter un élément à la liste d'une Combobox, si
l'utilisateur ne sélectionne pas un des éléments de liste mais en ajoute un,
de façon à ce qu'il apparaisse dans la liste lors de la prochaine
consultation.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Hervé
Salut Yvan, Je présume que le combo est sur une Form :
Sur l'événement "Exit" du Combo, un contrôle est fait pour savoir si le texte saisi se trouve dans la liste, si non, le rajoute puis fait un tri croissant (tu peux supprimer le tri si il te gène) et sélectionne le premier élément. Adapte.
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) Dim I As Integer Dim Existe As Boolean With ComboBox1 If .Text <> "" Then For I = 0 To .ListCount - 1 If .Text = .List(I) Then Existe = True Exit For End If Next I If Existe = False Then .AddItem .Text End If Tri .ListIndex = 0 End If End With End Sub
Sub Tri() Dim Tempo Dim I As Integer Dim J As Integer With ComboBox1 'les 2 sur "0 To .ListCount - 1" 'pour choisir croissant ou décroissant 'sans changer les limites, sinon, adpter For I = 0 To .ListCount - 1 For J = 0 To .ListCount - 1 '< croissant, > décroissant If .List(I) < .List(J) Then Tempo = .List(I) .List(I) = .List(J) .List(J) = Tempo End If Next J Next I End With End Sub
Hervé.
"Yvan" a écrit dans le message news:
Bonjour,
Comment faire pour ajouter un élément à la liste d'une Combobox, si l'utilisateur ne sélectionne pas un des éléments de liste mais en ajoute un,
de façon à ce qu'il apparaisse dans la liste lors de la prochaine consultation.
-- Merci pour vos réponses.
Salut Yvan,
Je présume que le combo est sur une Form :
Sur l'événement "Exit" du Combo, un contrôle est fait pour savoir si le
texte saisi se trouve dans la liste, si non, le rajoute puis fait un tri
croissant (tu peux supprimer le tri si il te gène) et sélectionne le premier
élément. Adapte.
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim I As Integer
Dim Existe As Boolean
With ComboBox1
If .Text <> "" Then
For I = 0 To .ListCount - 1
If .Text = .List(I) Then
Existe = True
Exit For
End If
Next I
If Existe = False Then
.AddItem .Text
End If
Tri
.ListIndex = 0
End If
End With
End Sub
Sub Tri()
Dim Tempo
Dim I As Integer
Dim J As Integer
With ComboBox1
'les 2 sur "0 To .ListCount - 1"
'pour choisir croissant ou décroissant
'sans changer les limites, sinon, adpter
For I = 0 To .ListCount - 1
For J = 0 To .ListCount - 1
'< croissant, > décroissant
If .List(I) < .List(J) Then
Tempo = .List(I)
.List(I) = .List(J)
.List(J) = Tempo
End If
Next J
Next I
End With
End Sub
Hervé.
"Yvan" <Yvan@discussions.microsoft.com> a écrit dans le message news:
6EB20F25-F5F5-492F-A5DB-35A0F9BD8972@microsoft.com...
Bonjour,
Comment faire pour ajouter un élément à la liste d'une Combobox, si
l'utilisateur ne sélectionne pas un des éléments de liste mais en ajoute
un,
de façon à ce qu'il apparaisse dans la liste lors de la prochaine
consultation.
Salut Yvan, Je présume que le combo est sur une Form :
Sur l'événement "Exit" du Combo, un contrôle est fait pour savoir si le texte saisi se trouve dans la liste, si non, le rajoute puis fait un tri croissant (tu peux supprimer le tri si il te gène) et sélectionne le premier élément. Adapte.
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) Dim I As Integer Dim Existe As Boolean With ComboBox1 If .Text <> "" Then For I = 0 To .ListCount - 1 If .Text = .List(I) Then Existe = True Exit For End If Next I If Existe = False Then .AddItem .Text End If Tri .ListIndex = 0 End If End With End Sub
Sub Tri() Dim Tempo Dim I As Integer Dim J As Integer With ComboBox1 'les 2 sur "0 To .ListCount - 1" 'pour choisir croissant ou décroissant 'sans changer les limites, sinon, adpter For I = 0 To .ListCount - 1 For J = 0 To .ListCount - 1 '< croissant, > décroissant If .List(I) < .List(J) Then Tempo = .List(I) .List(I) = .List(J) .List(J) = Tempo End If Next J Next I End With End Sub
Hervé.
"Yvan" a écrit dans le message news:
Bonjour,
Comment faire pour ajouter un élément à la liste d'une Combobox, si l'utilisateur ne sélectionne pas un des éléments de liste mais en ajoute un,
de façon à ce qu'il apparaisse dans la liste lors de la prochaine consultation.