TCD trié par VBA et Combobox

Re bonjour à tous

j'avais initialement une requete:

Dans un tableau:

Nom Prénom Adresse Tél Date Mail Caution Vol ....

sont les titres des colonnes

J'ai créé un useform où j'ai 5 combobox

une sur le nom , une sur le tél , une sur la date , une sur le mail , une sur le Vol qui récupère les données de chaque colonne.

j'ai en suite des textbox que je remplis ( et donc liées à une ligne du tableau) en fonction du choix effectué dans telle ou telle combobox

Tout fonctionne sauf que si je choisis de trier item des combobox, afin de faciliter le choix,

mes renseignements des textbox sont erronés ce qui est logique en soit.

Je ne sais pas comment faire pour solutionner .

A force de chercher j'ai pensé à faire un tableau dynamique croisé en lien avec ma base de données;

mais que je pourrais:

1) modifier automatiquement par l'ajout d'une ligne dans ma BD

2) dont je pourrais modifier le tri de la colonne de mon choix, ce qui me permettrait de remplir une combobox remplie à

partir de cette colonne et ainsi récupérer les bonnes données d'une ligne lors du choix dans ma combobox.

Est-ce clair ? (pour moi oui mais à la relecture je ne suis pas sûr)

Merci pour votre aide

Séb

Merci à vous

Bonjour

Il faut que tes ComboBox aient 2 colonnes

La 1ère qui affiche la valeur de la cellule, la seconde (largeur 0) qui contient le numéro de ligne

Lors du tri de ta ComboBox, il faut faire suivre la 2ème colonne

Ensuite pour afficher , il te suffit de récupérer le numéro de la ligne dans la colonne masquée de la ComboBox

Si problème joins ton fichier

Merci pour ton aide

peux tu me donner la formulation pour afficher et récupérer la valeur de cette deuxième colonne

==> Me.ComboBox1.??????

actuellement j'ai: (qui récupère les données des colonnes 1 et 2)

For J = 1 To Ws.Range("A" & Rows.Count).End(xlUp).Row

Me.ComboBox1.AddItem Ws.Range("A" & J)

Me.ComboBox2.AddItem Ws.Range("B" & J)

Next J

et

Me.ComboBox1.List = ListSort(Me.ComboBox2.List)

Me.ComboBox3.List = ListSort(Me.ComboBox4.List)

qui me donnent les ComboBox3 et 4 qui sont les ComboBox1 et 2 mais triées par une fonction.

voici la fonction:

Function ListSort(liSte) 'Code pour trier le tableau de la liste dans l'ordre croissant

Dim First As Integer, Last As Integer

Dim I As Integer, J As Integer

Dim Temp

First = LBound(liSte)

Last = UBound(liSte)

For I = First To Last - 1

For J = I + 1 To Last

If liSte(I, 0) > liSte(J, 0) Then

Temp = liSte(J, 0)

liSte(J, 0) = liSte(I, 0)

liSte(I, 0) = Temp

End If

Next J

Next I

ListSort = liSte

End Function

Que dois je rajouter?

merci pour votre aide

Séb

Bonsoir

Sarl54 a écrit :

Que dois je rajouter?

Un fichier pour m'éviter d'en refaire un

Sarl54 a écrit :

peux tu me donner la formulation pour afficher et récupérer la valeur de cette deuxième colonne

Ligne=  Me.ComboBox.List(Me.ComboBox.ListIndex,1)

RE

c'est donc une combobox multicolonne?


je vais preparer le fichier mais pour le moment j'essaye ...

Rechercher des sujets similaires à "tcd trie vba combobox"