Bonjour,
En cliquant sur une ligne d'une ComboBox, on copie cette ligne dans la
zone de saisie (en haut).
Je voudrais faire la m=EAme chose dans le programme en pr=E9sentant une
donn=E9e (Code) =E0 trouver,
S=E9quence du style du style
For J=3D1 To Combo1.ListCount
Combo1.ListIndex =3D J
A$=3DCombo1.text
If Instr(A$, Code)>0 Then Exit For
Next
Cela ne marche pas !
Merci si vous pouvez m'expliquer
Michel
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
jean-marc
> wrote in message news:e207d883-e6aa-4d4e-b0ef-> Bonjour, En cliquant sur une ligne d'une ComboBox, on copie cette ligne dans la zone de saisie (en haut). Je voudrais faire la même chose dans le programme en présentant une donnée (Code) à trouver, Séquence du style du style For J=1 To Combo1.ListCount Combo1.ListIndex = J A$=Combo1.text If Instr(A$, Code)>0 Then Exit For Next Cela ne marche pas ! Merci si vous pouvez m'expliquer
Hello,
c'est parce que une combobox à ses indices qui commmencent a ZERO (et pas 1) et donc terminent à listcount-1, et PAS listcount.
Voici donc du code qui fonctionne :
Private Sub FindAndSetCombo(cc As ComboBox, ByVal Code As String) Dim i As Long
For i = 0 To cc.ListCount - 1 If InStr(cc.List(i), Code) > 0 Then cc.ListIndex = i Exit For End If Next i End Sub
Private Sub Command1_Click()
FindAndSetCombo Combo1, "paul" End Sub
Private Sub Form_Load() Combo1.Clear Combo1.AddItem "pierre" Combo1.AddItem "paul" Combo1.AddItem "jacques"
Combo1.ListIndex = 0
End Sub
Mais ce n'est pas nécessairement la meilleure façon de faire. On peut faire ceci très élégamment avec un petit message.
><michel.arnoux@gmail.com> wrote in message
news:e207d883-e6aa-4d4e-b0ef->9f30d3a282be@v17g2000hsa.googlegroups.com...
Bonjour,
En cliquant sur une ligne d'une ComboBox, on copie cette ligne dans la
zone de saisie (en haut).
Je voudrais faire la même chose dans le programme en présentant une
donnée (Code) à trouver,
Séquence du style du style
For J=1 To Combo1.ListCount
Combo1.ListIndex = J
A$=Combo1.text
If Instr(A$, Code)>0 Then Exit For
Next
Cela ne marche pas !
Merci si vous pouvez m'expliquer
Hello,
c'est parce que une combobox à ses indices
qui commmencent a ZERO (et pas 1) et donc terminent
à listcount-1, et PAS listcount.
Voici donc du code qui fonctionne :
Private Sub FindAndSetCombo(cc As ComboBox, ByVal Code As String)
Dim i As Long
For i = 0 To cc.ListCount - 1
If InStr(cc.List(i), Code) > 0 Then
cc.ListIndex = i
Exit For
End If
Next i
End Sub
Private Sub Command1_Click()
FindAndSetCombo Combo1, "paul"
End Sub
Private Sub Form_Load()
Combo1.Clear
Combo1.AddItem "pierre"
Combo1.AddItem "paul"
Combo1.AddItem "jacques"
Combo1.ListIndex = 0
End Sub
Mais ce n'est pas nécessairement la meilleure façon
de faire.
On peut faire ceci très élégamment avec un petit message.
> wrote in message news:e207d883-e6aa-4d4e-b0ef-> Bonjour, En cliquant sur une ligne d'une ComboBox, on copie cette ligne dans la zone de saisie (en haut). Je voudrais faire la même chose dans le programme en présentant une donnée (Code) à trouver, Séquence du style du style For J=1 To Combo1.ListCount Combo1.ListIndex = J A$=Combo1.text If Instr(A$, Code)>0 Then Exit For Next Cela ne marche pas ! Merci si vous pouvez m'expliquer
Hello,
c'est parce que une combobox à ses indices qui commmencent a ZERO (et pas 1) et donc terminent à listcount-1, et PAS listcount.
Voici donc du code qui fonctionne :
Private Sub FindAndSetCombo(cc As ComboBox, ByVal Code As String) Dim i As Long
For i = 0 To cc.ListCount - 1 If InStr(cc.List(i), Code) > 0 Then cc.ListIndex = i Exit For End If Next i End Sub
Private Sub Command1_Click()
FindAndSetCombo Combo1, "paul" End Sub
Private Sub Form_Load() Combo1.Clear Combo1.AddItem "pierre" Combo1.AddItem "paul" Combo1.AddItem "jacques"
Combo1.ListIndex = 0
End Sub
Mais ce n'est pas nécessairement la meilleure façon de faire. On peut faire ceci très élégamment avec un petit message.