Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Choix successifs dans un comboBox

3 réponses
Avatar
Eliot Naiss
Bonjour à tous.
Je pars sur la base d'un classeur Excel mis à disposition sur le forum, et
je tente de l'adapter à mes besoins, merci à celui qui l'a fournit.
Dans un classeur Excel 2000, j'ai un UserForm avec 1 ComboBox et 1 TextBox.
Le(s) choix du ComboBox va alimenter le TextBox mais dans l'exemple donné,
les choix se placent dans le TextBox à la suite, séparés par un espace. Je
désire que ces choix s'affichent dans le TextBox les uns en dessous des
autres (comme si j'utilisait un AddItem).
Merci à celui ou celle qui pourra m'arranger le code pour faire ce que je
souhaite.
Ci-joint mon exemple. http://cjoint.com/?iwocjJvMXZ

Cordialement.
Eliot

3 réponses

Avatar
JB
Il faut :

-Modifier la propriété Multiline du TextBox :True
-Remplacer l'espace par char(10)

Private Sub Choix_Change()
p = InStr(Me.resultat, Me.Choix)
If p > 0 Then
Me.resultat = Left(Me.resultat, p - 1) & Mid(Me.resultat, p +
Len(Me.Choix) + 2)
Else
Me.resultat = Me.resultat & Me.Choix & Chr(10)
End If
End Sub

Cordialement JB



Bonjour à tous.
Je pars sur la base d'un classeur Excel mis à disposition sur le forum, et
je tente de l'adapter à mes besoins, merci à celui qui l'a fournit.
Dans un classeur Excel 2000, j'ai un UserForm avec 1 ComboBox et 1 TextBo x.
Le(s) choix du ComboBox va alimenter le TextBox mais dans l'exemple donn é,
les choix se placent dans le TextBox à la suite, séparés par un esp ace. Je
désire que ces choix s'affichent dans le TextBox les uns en dessous des
autres (comme si j'utilisait un AddItem).
Merci à celui ou celle qui pourra m'arranger le code pour faire ce que je
souhaite.
Ci-joint mon exemple. http://cjoint.com/?iwocjJvMXZ

Cordialement.
Eliot


Avatar
Benead
Bonsoir,

Un passage très rapide sur ce forum...

Eliot, remplace le code de l'UF par celui-ci :

' ******************************* Début de code
Private Sub Choix_Change()
resultat = resultat & IIf(Len(resultat) > 0, vbCr, "") & Choix
End Sub

Private Sub resultat_Change()

End Sub

Private Sub UserForm_Initialize()
resultat.MultiLine = True
Choix.AddItem "Alain"
Choix.AddItem "Bernard"
Choix.AddItem "Charlie"
Choix.AddItem "Dany"
Choix.AddItem "Emile"
Choix.AddItem "Fleur"
End Sub
' ******************************* Fin de code

En fait, deux choses manquaient :
la première est que la propriété'Multiligne' du TextBox doit avoir la valeur True
la seconde est que à chaque fois que tu choisis un prénom, il faut déclancher un saut de ligne via VbCr (ou Char(13))

A+
Benead
XL2000

Eliot Naiss a écrit:
Bonjour à tous.
Je pars sur la base d'un classeur Excel mis à disposition sur le forum, et
je tente de l'adapter à mes besoins, merci à celui qui l'a fournit.
Dans un classeur Excel 2000, j'ai un UserForm avec 1 ComboBox et 1 TextBox.
Le(s) choix du ComboBox va alimenter le TextBox mais dans l'exemple donné,
les choix se placent dans le TextBox à la suite, séparés par un espace. Je
désire que ces choix s'affichent dans le TextBox les uns en dessous des
autres (comme si j'utilisait un AddItem).
Merci à celui ou celle qui pourra m'arranger le code pour faire ce que je
souhaite.
Ci-joint mon exemple. http://cjoint.com/?iwocjJvMXZ

Cordialement.
Eliot


Avatar
JB
http://cjoint.com/?iwtS5dDErE

JB

Bonjour à tous.
Je pars sur la base d'un classeur Excel mis à disposition sur le forum, et
je tente de l'adapter à mes besoins, merci à celui qui l'a fournit.
Dans un classeur Excel 2000, j'ai un UserForm avec 1 ComboBox et 1 TextBo x.
Le(s) choix du ComboBox va alimenter le TextBox mais dans l'exemple donn é,
les choix se placent dans le TextBox à la suite, séparés par un esp ace. Je
désire que ces choix s'affichent dans le TextBox les uns en dessous des
autres (comme si j'utilisait un AddItem).
Merci à celui ou celle qui pourra m'arranger le code pour faire ce que je
souhaite.
Ci-joint mon exemple. http://cjoint.com/?iwocjJvMXZ

Cordialement.
Eliot