tableaux liées

  • Initiateur de la discussion CVS
  • Date de début
C

CVS

Guest
bonjour

j'ai un souci de compréhension

je cherche a faire deux listes dans un tableau en mémoire dont une serait apparente dans mon userform en tant que combobox et lorsque je selectionne une valeur dans ce combobox je souhaiterais récupérer la valeur du tableau 2 au même niveau

ex:

michel 1
valerie 2
pierre 3
roland 4

selection de pierre valeur 3

merci

dreher.m@wanadoo.fr
 

Hervé

XLDnaute Barbatruc
Bonjour tout le monde

Une idée, tout mettre dans la combobox, mais caché la colonne de valeur.

Ainsi tu as toutes données sous la main.

C'est ce qu'il y a de plus rapide.

Un exemple en pièce jointe.

Salut
[file name=Classeur2_20050617115854.zip size=10129]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2_20050617115854.zip[/file]
 

Pièces jointes

  • Classeur2_20050617115854.zip
    9.9 KB · Affichages: 15
C

cvs

Guest
merci pour ta réponse prompte

y'a un truc que je ne saisi pas comment sait il ou afficher le résultat tu ne le spécifie nulle part et pourtant le résultat se retrouve dans le label1 ?

au fait le 80 de columnwidths c'est le nombre de caractères max dans la largeur du tableau

merci
 

Hervé

XLDnaute Barbatruc
rebonjour

Si,si je lui spécifie ou mettre le résultat, à travers ce code :

Private Sub ComboBox1_Click()
Label1 = ComboBox1.List(ComboBox1.ListIndex, 1)
End Sub

Le .list permet de retrouver une donnée dans une combobox suivant sa ligne et sa colonne.

le numéro de ligne je le retrouve par : combobox1.listindex qui me donne le numéro de ligne de l'item sélectionné.

le numéro de colonne est le 1 car la premiere colonne d'un combobox est indexé 0, la deuxième = 1,etc....

la largeur des colonnes dans ColumnWidths sont calculé en points, mais tu peux spécifier des cm '3 cm;0cm'.

si tu met 0 comme largeur de colonne celle ci est masqué.

si par exemple tu met : .ColumnWidths = '60;20'

tu verras que ta deuxième colonne apparait bien.

En espérant t'avoir aidé.

Salut
 
C

cvs

Guest
re

j'ai un sousaille avec ça
(pour le if il faudrait lire : si dans ce combobox ou celui la y'a rien alors affiche le message) mais j'y arrive pas !!!
pourrais tu m'éclairer

merci

Private Sub CommandButton2_Click()
'If ComboBox1.List(ComboBox1.ListIndex, 3) <> '' Then
Range('e' & ComboBox2.List(ComboBox2.ListIndex, 3) + 1) = ComboBox1.List(ComboBox1.ListIndex, 3)
Range('h' & ComboBox2.List(ComboBox2.ListIndex, 3) + 1) = 1
'Else
'MsgBox 'Le fondé de pouvoir n'a pas été sélectionné !'
'End If
z = Range('a501')

Dim tablo As Variant
Dim tablo2 As Variant
tablo = Range('b2:e' & z)
tablo2 = Range('b2:e' & z)
With ComboBox1
.ColumnCount = 4
.ColumnWidths = '0;80;80;0'
.List = tablo
End With
With ComboBox2
.ColumnCount = 4
.ColumnWidths = '0;80;80;0'
.List = tablo2
End With
End Sub
 
C

cvs

Guest
oubli

de plus lorsque je clique sur mon bouton tel quel (sans les lignes en commentaire) ca plante je capte pas
j'ai cru que c'etait le 3 de l'index qui posait problème car c'est du txt qu'il y a dedans et je l'ai remplacer par 4 qui est ma colonne en numérique mais c'est kifkif
 

Hervé

XLDnaute Barbatruc
re

Bizarre ton code, :)

Tu initialises tes combobox a travers un bouton ??? quand l'userform apparait, qu'est-ce qu'il y a dans les combobox ???

Tu n'es pas obligé de créer 2 tablo (tablo et tablo2) pour alimenter 2 combobox.

With ComboBox2
.ColumnCount = 4
.ColumnWidths = '0;80;80;0'
.List = tablo
End With

Pour vérifier si un élément d'un combobox à été sélectionné il faut rechercher le listindex du combobox, si celui-ci est égal à -1 c'est qu'aucun élément n'a été choisi.

Ce type de code interdit le traitement tant que les deux combobox ne sont pas renseignées :

If ComboBox1.ListIndex = -1 Or ComboBox2.ListIndex = -1 Then
MsgBox 'pas bon'
Exit Sub
Else
'ton code de traitement ici
End If

En espérant t'avoir été utile.

Salut

PS : si tu n'y arrives pas, merci de joindre ton fichier, c'est plus simple.
:)
 

Discussions similaires

Réponses
7
Affichages
547

Statistiques des forums

Discussions
312 304
Messages
2 087 069
Membres
103 453
dernier inscrit
Choupi