Combobox et tableau
Bonjour à tous
J'ai un grand tableau de données (situé dans feuil1).
J'ai créé 5 combobox qui contiennent chacune la liste située dans une colonne du tableau (non prenom date telephone et mail) car je veux afficher une fiche "produit" (useform) avec la possibilité d'afficher les données d'une ligne du tableau en fonction d'un des 5 critères.
Ca marche sans pb.
Sauf que pour simplifier ma recherche dans les combobox, je les trie ca marche toujours.
MAIS !!!!
bien sûr, les indices des combobox ne correspondent plus et ma fiche "produit" est erronée.
Comment faire?
Faut il utiliser une combobox multicolonne ( j'ai pas encore regardé)
Serait il plus rapide de créer 5 tableaux triés (chacun en fonction d'un de mes 5 critères) et de remplir la fiche à partir du tableau concerné lors du choix d'une des 5 combobox.
J'espère avoir été clair
Merci pour votre aide
Bonjour
Sarl54 a écrit :J'ai un grand tableau de données (situé dans feuil1).
On peut le voir ?
Bye !
Re
compliqué car ce ne sont que des ébauches pour le moment
en gros:
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
j'ai en suite des textbox que je remplis 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 d'où ma question initiale.
Si ça n'est pas clair j'enverrai un fichier mais qu'il faut que je fabrique.
Merci à vous
Bonjour,
On ne peut évaluer ton problème sans voir concrètement comment il se présente !
D'une façon générale, ce que je peux dire d'après tes quelques indications :
- 5 ComboBox c'est superflu ! Un seul suffit : tu n'en utiliseras qu'un à la fois.
- Il sera nécessaire de trier ta base selon le critère de recherche que tu utiliseras, cela se fait avant d'affecter la liste au ComboBox, à l'ouverture, et il sera sans doute utile de prévoir un changement de mode de recherche, en cours d'utilisation du formulaire : élimination de la liste en cours, nouveau tri de la base, réaffectation de liste (sans décharger le formulaire).
- Ce, que tu optes pour un chargement multi-colonne ou pas.
- En multicolonne, tu auras tous les éléments de recherche en même (bien qu'on puisse le cas échéant masquer des colonnes), cela peut faire une ligne assez longue avec des colonnes larges... Si tu n'affiches qu'une colonne, il te faut prévoir d'afficher dans des TextBox les autres éléments (faciles à récupérer immédatement à la sélection puisque ta base est triée selon ton mode de recherche).
- Les choix dépendent aussi de l'utilisation ultérieure du résultat de la recherche...
Cordialement,
Ferrand
Bonjour
merci pour ta réponse,
après plus de 6 heures passées à faire des recherches, j'ai trouvé 2 possibilités ( j'aimerais savoir faire les deux même
s'il y a sans doute autre chose à faire)
Méthode1:
Je vais utiliser une combobox 5 colonnes qui récupère 5 colonnes d'un grand tableau ( contenant plus de 10 colonnes et plus de 1000 lignes qui peuvent augnmenter) situé dans la feuille 1 de mon classeur.
Premier point:
Quelle est serait alors le code pour lui dire que
la colonne 1 de ma combobox1 récupère la colonne A (qui correspondra au numéro de la ligne d'enregistrement du tableau)
la colonne 2 de ma combobox1 récupère la colonne C
la colonne 3 de ma combobox1 récupère la colonne F
la colonne 4 de ma combobox1 récupère la colonne G
la colonne 5 de ma combobox1 récupère la colonne I
Deuxième point:
Est-il possible de créer 4 combobox créées à partir de combobox1 :
combobox2 où ne figurent que colonnes A et C de combobox1
combobox3 où ne figurent que colonnes A et F de combobox1
combobox4 où ne figurent que colonnes A et G de combobox1
combobox5 où ne figurent que colonnes A et I de combobox1
Troisième point:
Ensuite, j'ai trouvé une fonction qui trie une combobox ce qui sera plus pratique pour effectuer un choix dans mes combobox.
On appelle cette fonction avec: Me.ComboBox12.List = ListSort(Me.ComboBox2.List)
ComboBox2 n'est pas triée , ComboBox12 est triée
Function ListSort(liSte)
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
Je ne sais pas sur quelle colonne est effectué le tri.
Est-il possible de modifier cette fonction pour choisir la colonne sur laquelle se base le tri?
Quatrième point:
Comment n'afficher qu'une des colonnes d'une combobox (multicolonne) afin que le choix se fasse sur la deuxième colonne
Cinquième point:
j'affiche (dans des textbox) à l'aide du renseignement(indice) situé dans la colonne masquée si possible ( qui correspond à la colonne A du tableau) les renseignements de la combox1 à 5 colonnes (situés dans la ligne où il y a le même indice)
je m'explique:
Combox1
colonne1 colonne2 colonne 3 ...
1 DUPONT 13354
2 RENE 89
3 ANDRE 999
Combox12(triée)
colonne1(masquée) colonne2
3 ANDRE
1 DUPONT
2 RENE
je choisis RENE
je récupère dans TEXTBOX 1 à 5
TEXTBOX 1: 2
TEXTBOX 2: RENE
TEXTBOX 3: 89
Méthode 2:
Mes 5 combobox sont crées à partir du tableau , je les trie et je vais chercher les renseignements à afficher directement dans le tableau. Ca semble plus court dans l'explication mais ca oblige à aller chercher 10 000 renseignements (5 combobox*2 colonnes*1000 lignes) au lieu de 5000 avec la combobox 5 colonnes
Voilà j'ai trouvé plein de renseignements sur le forum mais dur dur de mette tout bout à bout.
J'aimerais vraiment savoir faire les deux
Merci pour votre aide.
re
petite precision sur les 5 combobox
en fait il en faut 5 car je veux pouvoir faire une recherche soit sur le N° d'enregistrement (colonne A)
soit sur le nom
soit sur le telephone
soit....
d'où 5 combobox suivant ce que mon choix de critère
voili voilà
Bon courage ! C'est toi qui bâtis à ta convenance.
Je te conseilles de passer en revue (et en détail) les propriétés du ComboBox, et de bien mémoriser leurs interactions qui sont nombreuses. L'aide est utile et il faut s'en servir.
Bonne journée
Ferrand
Certes mais je ne sais pas tout faire
j'ai posé qqs questions , j'ai besoin d'aide
merci d'avance
Séb
et avec un fichier c'est mieux