Bonjour le Forum,
Voici le code qui me pose parfois problème...
Explication du code pour comprendre...: Ma listBox1 est alimentée en fonction du choix fait dans la Combobox1 (jusque là, tout ok!) Puis, selon le choix dans ma ListBox1, les données correspondantes (dans ma feuille "articles") viennent s'afficher dans des textbox. (là aussi, tout ok!)
MAIS! bien sûr, sinon je serais pas là!!!
Parfois, pour certains choix dans la Combobox1, lorsque je sélectionne une ligne dans ma ListBox1, le message d'erreur suivant apparaît :Erreur d'exécution 1004 - impossible de lire la propriété Match de la classe WorksheetFunction
J'ai fait quelque recherche sur le forum, ce qui m'a amené à enlever "WorksheetFunction" dans mon code...
Bien. MAIS l'erreur s'est déplacée! le code se bloque du coup au moment d'alimenter le 1er textBox avec ce message:Erreur d'exécution 13 - incompatibilité de type et lorsque je met le curseur sur la ligne de code, il me met lig=erreur 2042
Je me demande si cela n'a pas à voir avec ma "base de donnée" qui alimente a) ma listBox puis b) mes textbox...
Les informations sont dans la feuille "articles": colonne A = fournisseurs (qui permet le choix puis le tri dans la combobox) - colonne B = n° d'articles (ces n° se retrouvent dans la listBox1, puis dans le textBox) Colonne C à F, données qui seront transcrites dans les textBox suivant selon chois dans listBox1...
MAis, dans ma colonne B qui contient les ° d'articles, je dois préciser qu'ils ne sont pas tous pareils, (chaque fournisseur a ses propres n° d'articles!!!) donc parfois il n'y a que des chiffres (par ex. 701600), parfois ce sont des lettres (par ex. BPWE), parfois lettre+chiffre (par ex. OIU10) parfois il y a des point (par ex. 800.100.05) !!!
D'où mon interrogation... Mais je n'arrive pas à faire le lien entre les erreurs et fini par croire qu'il n'y en a pas...
Une idée???
Merci!
Voici le code qui me pose parfois problème...
Code:
Private Sub ListBox1_Change()
With Sheets("articles")
If ListBox1.ListIndex = -1 Then Exit Sub
lig = Application.WorksheetFunction.Match(ListBox1.Value, .Range("B1:B65536"), 0)
TextBox6 = .Cells(lig, 2) 'place dans textbox6 l'art qui figure en col 1 de la feuille "articles"
TextBox7 = .Cells(lig, 3)
TextBox8 = .Cells(lig, 4)
TextBox9 = .Cells(lig, 5)
TextBox10 = .Cells(lig, 6)
End With
End Sub
Explication du code pour comprendre...: Ma listBox1 est alimentée en fonction du choix fait dans la Combobox1 (jusque là, tout ok!) Puis, selon le choix dans ma ListBox1, les données correspondantes (dans ma feuille "articles") viennent s'afficher dans des textbox. (là aussi, tout ok!)
MAIS! bien sûr, sinon je serais pas là!!!
Parfois, pour certains choix dans la Combobox1, lorsque je sélectionne une ligne dans ma ListBox1, le message d'erreur suivant apparaît :Erreur d'exécution 1004 - impossible de lire la propriété Match de la classe WorksheetFunction
J'ai fait quelque recherche sur le forum, ce qui m'a amené à enlever "WorksheetFunction" dans mon code...
Bien. MAIS l'erreur s'est déplacée! le code se bloque du coup au moment d'alimenter le 1er textBox avec ce message:Erreur d'exécution 13 - incompatibilité de type et lorsque je met le curseur sur la ligne de code, il me met lig=erreur 2042
Je me demande si cela n'a pas à voir avec ma "base de donnée" qui alimente a) ma listBox puis b) mes textbox...
Les informations sont dans la feuille "articles": colonne A = fournisseurs (qui permet le choix puis le tri dans la combobox) - colonne B = n° d'articles (ces n° se retrouvent dans la listBox1, puis dans le textBox) Colonne C à F, données qui seront transcrites dans les textBox suivant selon chois dans listBox1...
MAis, dans ma colonne B qui contient les ° d'articles, je dois préciser qu'ils ne sont pas tous pareils, (chaque fournisseur a ses propres n° d'articles!!!) donc parfois il n'y a que des chiffres (par ex. 701600), parfois ce sont des lettres (par ex. BPWE), parfois lettre+chiffre (par ex. OIU10) parfois il y a des point (par ex. 800.100.05) !!!
D'où mon interrogation... Mais je n'arrive pas à faire le lien entre les erreurs et fini par croire qu'il n'y en a pas...
Une idée???
Merci!