Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
598 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  RESOLU - COMBOBOX MULTILIGNE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

RESOLU - COMBOBOX MULTILIGNE

n°1337829
mckoy25
Posté le 03-04-2006 à 15:29:43  profilanswer
 

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
mood
Publicité
Posté le 03-04-2006 à 15:29:43  profilanswer
 

n°1337947
tegu
Posté le 03-04-2006 à 16:38:16  profilanswer
 

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

n°1337997
kennybis
SeiGneuR des SaiGneuRz - SaiGn
Posté le 03-04-2006 à 17:19:56  profilanswer
 

euh, ca marche pas

 

Combobox1.AddItem = "ligne1" & chr(10) & chr(13) & "ligne 2", 0

 

?

n°1338082
Splinter_7
Posté le 03-04-2006 à 18:51:23  profilanswer
 

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

n°1338166
juju2k
Posté le 03-04-2006 à 20:20:22  profilanswer
 

Une petite remarque :
La constante vbCrLf équivaut à la combinaison des deux caractères Chr(13) + Chr(10) (retour chariot et de saut de ligne) ;)

n°1338412
tegu
Posté le 04-04-2006 à 10:02:39  profilanswer
 

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.

n°1339071
mckoy25
Posté le 04-04-2006 à 19:07:16  profilanswer
 

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 ????
 

n°1339100
juju2k
Posté le 04-04-2006 à 19:49:41  profilanswer
 

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  :jap:
 
Désolé ;)

n°1339102
juju2k
Posté le 04-04-2006 à 19:52:55  profilanswer
 

mckoy25 a écrit :

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 ????


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...

n°1339286
mckoy25
Posté le 04-04-2006 à 23:45:01  profilanswer
 

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
 

mood
Publicité
Posté le 04-04-2006 à 23:45:01  profilanswer
 

n°1339395
kennybis
SeiGneuR des SaiGneuRz - SaiGn
Posté le 05-04-2006 à 08:59:17  profilanswer
 

Citation :

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 ????

J'suis loin d'etre un dieu mais j'aurai fait genre :
 

'peuplage de tes comboboxs
sub init()
    Combobox1.AddItem = item1, 0
    Combobox1.AddItem = itemN, N
    Combobox2.AddItem = item1, 0
    Combobox2.AddItem = itemN, N
    Combobox3.AddItem = item1, 0
    Combobox3.AddItem = itemN, N
End Sub
 
'sur le changement de combobox1, peuplage des combobox puis suppression de l'entrée de combobox1 dans les 2 autres
Sub Combobox1.Change(...)
    init()
    Combobox2.RemoveItem(x)
    Combobox3.RemoveItem(x)
End Sub


 
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  :jap:  
 
 
 

Citation :

Comment simuler l'action de la touche "entrée" [...] --> un truc du genre textbox.value = combobox1.value & chr(10) & combobox2.value

toutafay  :o  (je rajouterai meme " & chr(13) & " dedans)


Message édité par kennybis le 05-04-2006 à 08:59:43
n°1340000
mckoy25
Posté le 05-04-2006 à 20:27:29  profilanswer
 

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

n°1340269
tegu
Posté le 06-04-2006 à 09:55:55  profilanswer
 

As-tu passé la propriété .Multiline de ta textbox à True ?

n°1343851
mckoy25
Posté le 11-04-2006 à 10:25:35  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  RESOLU - COMBOBOX MULTILIGNE

 

Sujets relatifs
[resolu] probleme avec un echo "<a href..." au niveau du ">" de fin[résolu] [qst] [débutant] Opérations pdt un parcours avec Iterator ?
[resolu]trigger ?[Résolu] Requête complexe sur table ayant 4 champs clé primaire
RESOLU - Diviser le contenu d'une cellule pour alimenter une combobox[resolu]updater une valeur seulement si superieure
[resolu] Tri dans un tableau multidimensionnel[Resolu] Boites de contenu et includes
[résolu] .htaccess et php 
Plus de sujets relatifs à : RESOLU - COMBOBOX MULTILIGNE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR