Bonjour à tous.
Je suis sur une macro Userform avec Listbox et ComboBox; je m'arrache les cheveux, je ne trouve pas à resoudre 3 petits points. Je me permets donc d'envoyer une bouteille à la mer. Help Help.
Voici mon cas:
J'ai un fichier excel avec deux onglets.
Un 1er onglet "LISTE TARIF" qui contient la base de données (code Article Fournisseurs en colonne A, Code Article client en colonne B, Designation Article en colonne C, Prix en D).
2eme onglet "CALCUL DEVIS" avec un tableau vide pour copier le resultat de ma macro (les 3 premieres colonnes).
L'objectif de la macro est de filtrer par 3 comboBox (Code fournisseur, code client et Designation) et selectionner la ligne sur la listbox pour qu'elle se copie dans le tableau. Le client peut soit filtrer soit taper du texte (type smart search, donc pas forcement la 1ere lettre).
Mes problèmatiques:
1 - Ca bugge quand on tape du texte dans la ComboBox (pas toujours mais trés souvent). Le debogage me met en jaune cette ligne de script " Me.ListBox1.list = Application.Transpose(a())"
2 - Quand on tape du texte, il faut mettre un * pour voir l'ensemble des propositions dans la listbox, sinon il fait une proposition aléatoire (par exemple : je voudrais taper "abla" en désignation et avoir tous les mots contenant "abla" dans ma listbox"),
3 - La ligne selectionnée dans la listbox se copie sur la cellule sur laquelle j'ai cliqué (ActiveCell). Si je clique sur C2, j'aurai le code article et les 2 autres mots seront decalés sur la droite.
J'ai besoin que le Code article Fournisseur soit toujours en colonne A, code article client en B et Designation Article en C.
J'espere que mes explications sont pas trop confuses.
Je vous joins le fichier.
Merci par avance.
Je suis sur une macro Userform avec Listbox et ComboBox; je m'arrache les cheveux, je ne trouve pas à resoudre 3 petits points. Je me permets donc d'envoyer une bouteille à la mer. Help Help.
Voici mon cas:
J'ai un fichier excel avec deux onglets.
Un 1er onglet "LISTE TARIF" qui contient la base de données (code Article Fournisseurs en colonne A, Code Article client en colonne B, Designation Article en colonne C, Prix en D).
2eme onglet "CALCUL DEVIS" avec un tableau vide pour copier le resultat de ma macro (les 3 premieres colonnes).
L'objectif de la macro est de filtrer par 3 comboBox (Code fournisseur, code client et Designation) et selectionner la ligne sur la listbox pour qu'elle se copie dans le tableau. Le client peut soit filtrer soit taper du texte (type smart search, donc pas forcement la 1ere lettre).
Mes problèmatiques:
1 - Ca bugge quand on tape du texte dans la ComboBox (pas toujours mais trés souvent). Le debogage me met en jaune cette ligne de script " Me.ListBox1.list = Application.Transpose(a())"
2 - Quand on tape du texte, il faut mettre un * pour voir l'ensemble des propositions dans la listbox, sinon il fait une proposition aléatoire (par exemple : je voudrais taper "abla" en désignation et avoir tous les mots contenant "abla" dans ma listbox"),
3 - La ligne selectionnée dans la listbox se copie sur la cellule sur laquelle j'ai cliqué (ActiveCell). Si je clique sur C2, j'aurai le code article et les 2 autres mots seront decalés sur la droite.
J'ai besoin que le Code article Fournisseur soit toujours en colonne A, code article client en B et Designation Article en C.
J'espere que mes explications sont pas trop confuses.
Je vous joins le fichier.
Merci par avance.
Pièces jointes
Dernière édition: