RESOLU - COMBOBOX MULTILIGNE - VB/VBA/VBS - Programmation
Marsh Posté le 03-04-2006 à 16:38:16
Une combobox est un contrôle qui affiche une ligne par élément ou liste d'éléments (multi colonnes).
Tu ne peux pas avoir un élément sur plusieurs lignes (du moins avec les contrôles que je connais).
Je ne comprends pas vraiment ta demande
Marsh Posté le 03-04-2006 à 17:19:56
euh, ca marche pas
Combobox1.AddItem = "ligne1" & chr(10) & chr(13) & "ligne 2", 0 |
?
Marsh Posté le 03-04-2006 à 18:51:23
Oui tegu as raison il est impossible avec une combo d'écrire sur plusieurs lignes.
Kennybis pour moi la synthaxe serait plutot
chaine="ligne1" & chr(10) & chr(13) & "ligne2"
Combobox1.Additem(chaine)
Additem est une fonction
Marsh Posté le 03-04-2006 à 20:20:22
Une petite remarque :
La constante vbCrLf équivaut à la combinaison des deux caractères Chr(13) + Chr(10) (retour chariot et de saut de ligne)
Marsh Posté le 04-04-2006 à 10:02:39
vbCrLf ? Et tu te retrouves avec une marque de fin de paragraphe au milieu de ton texte... sur la même ligne que le reste.
Marsh Posté le 04-04-2006 à 19:07:16
Ba je me doutais bien que la question posée était complexe
en meme temps cette combobox me permet de choisir des valeurs par sa rowsource
en meme temps elle me permet de valider des données et de les introduire dans une cellule mais cette cellule doit pouvoir contenir 1, 2 ou 3 lignes...
Vous comprenez mieux ????
Marsh Posté le 04-04-2006 à 19:49:41
tegu a écrit : vbCrLf ? Et tu te retrouves avec une marque de fin de paragraphe au milieu de ton texte... sur la même ligne que le reste. |
Je faisais référence à une situation standard, pas à l'utilisation de vbCrLf dans une ComboBox. J'aurais dû le préciser
Désolé
Marsh Posté le 04-04-2006 à 19:52:55
mckoy25 a écrit : Ba je me doutais bien que la question posée était complexe |
Je vais dans le sens des autres : je pense qu'il te reste plus qu'à séparer ces lignes sur plusieurs cellules et gérer cette nouvelle situation...
Marsh Posté le 04-04-2006 à 23:45:01
J'ai trouvé une autre solution
1- remplacer le combobox par un textbox
2- faire un nouvel usf avec 3 combobox (j'ai besoin au max de 3 lignes dans la cellule)
3- renvoyer les valeurs de ces combobox vers le textbox
J'ai maintenant un nouvel userform avec 3 combobox ayant les memes rowsource...
Problème n°1 :
Comment, après avoir choisi une valeur dans un combobox, la supprimer des rowsources des 2 autres combobox afin d'éviter la saisie de doublons ????
Problème n°2
Comment simuler l'action de la touche "entrée" pour alimenter la textbox par les différentes valeurs des combobox ???
--> un truc du genre textbox.value = combobox1.value & chr(10) & combobox2.value
Marsh Posté le 05-04-2006 à 08:59:17
Citation : Comment, après avoir choisi une valeur dans un combobox, la supprimer |
J'suis loin d'etre un dieu mais j'aurai fait genre :
'peuplage de tes comboboxs |
Le seul truc ou je seche c'est comment récupérer x. Il doit etre le numéro d'index du champ a supprimer. En meme temps, j'suis pas super doué en algo donc il y a peut etre plus simple, plus pro
Citation : Comment simuler l'action de la touche "entrée" [...] --> un truc du genre textbox.value = combobox1.value & chr(10) & combobox2.value |
toutafay (je rajouterai meme " & chr(13) & " dedans)
Marsh Posté le 05-04-2006 à 20:27:29
Merci de vos réponses
J'ai trouvé plus simple en comparant les valeurs des combobox et d'inscrire un message d'alerte concernant l'entrée de doublons si il y a.
trop compliqué d'aller chercher la valeur index d'un combobox pour la supprimer dans l'autre et encore plus compliqué avec 3 combobox...
maintenant la seconde combobox s'affiche que si une valeur est choisie dans la première et pareil pour la troisième...
pour récupérer les combobox dans le textbox j'ai toujours pas la solution.
J'ai essayé textbox.text = combobox1.value & chr(10) & combobox2.value mais le résultat donne les choix sur la même ligne séparer par le caractère "paragraphe".
Je vais essayer :
textbox.value = combobox1.value & vbcrlf & combobox2.value
Je vous donne une réponse plus tard
Bon appétit
Marsh Posté le 06-04-2006 à 09:55:55
As-tu passé la propriété .Multiline de ta textbox à True ?
Marsh Posté le 11-04-2006 à 10:25:35
salu réponse tardive...
la meilleure méthode est d'écrire :
textbox.text = combobox1.value & chr(10) & combobox2.value
le vbcrlf marche bien mais me pose problème ensuite pour extraire les données du textbox vers une cellule
merci et j'ai RESOLU mon problème
Marsh Posté le 03-04-2006 à 15:29:43
la question est dans le sujet...
Comment faire pour faire un retour chariot dans une combobox ???
Je voudrais pouvoir rentré dans cette combobox 3 lignes différentes dépendantes de la rowsource
ex : la combobox est alimenté par des items genre aa, bb, cc,...
j'aimerais choisir aa, aller a la ligne du combobox et pouvoir ajouter bb à ce meme combobox
Est-ce possible ??? Je ne trouve pas de propriété style multiligne pour combobox...
Merci d'avance meme si je sais que la question est compliquée
Message édité par mckoy25 le 08-05-2006 à 02:52:50