Estelle_BNP
Messages postés25Date d'inscriptionjeudi 14 décembre 2006StatutMembreDernière intervention10 mai 2008
-
13 août 2007 à 16:10
Estelle_BNP
Messages postés25Date d'inscriptionjeudi 14 décembre 2006StatutMembreDernière intervention10 mai 2008
-
20 août 2007 à 09:54
Bonjour,
j'ai créé sous Excel une base de donnée de produits. Chaque produit a un identifiant unique composer de chiffres et de lettres.
J'ai créé également un UserForm (UserForm1) avec des TextBox (TextBox1). Cette UserForm contient au début une TextBox où je souhaite saisir l'idendifiant du produit et ensuite des TextBox qui contiennent les différentes caractéristiques du produit.
Je souhaiterai que
1- la machine me propose le plus vite possible l'identifiant du produit lorsque je commence à le saisir (saisie semi-automatique à partir de la colonne (colonne A, de la cellule A7 à A144 pour l'instant) qui contient tous les identifiants). Le nombre d'identifiants évoluera dans le temps.
2- la machine restitue les caractéristiques de ce produit dans les autres TextBox de la UserForm (la colonne B est le nom du produit, par exemple).
J'ai trouvé des programmes tout fait de saisie automatique sur le site mais lorsque je les copie/colle dans Excel, j'ai toujours un message d'erreur. Par ailleurs, je ne suis pas sûre qu'ils conviennent exactement car je n'arrive pas à comprendre le code. Pouvez-vous m'aider ?
En gros, ListIndex c'est la position de l'item choisi, en base 0 (cad que le premier élément choisi et le n°0, le 2nd élément = N°1, etc)
Tes première données sont a partir de la ligne 7, Donc 7 + ListIndex = le numéro de la ligne dans Exce contenant les données à afficher.
Suffit de lire en affectant le bon numéro de colonne (second paramètre de l'objet Cell )
Estelle_BNP
Messages postés25Date d'inscriptionjeudi 14 décembre 2006StatutMembreDernière intervention10 mai 2008 17 août 2007 à 10:01
C'est exactement ce que je souhaitais. Merci pour cette explication claire et concise.
Il me reste un point en suspens maintenant que j'ai implémenté votre solution : comment ne pas faire planter le programme lorsque le code saisi dans la ComboBox ne correspond pas à un code de la liste (colonne A d'Excel) ?
Je souhaiterais qu'il me mette un message du style 'Code non trouvé' plutôt que d'avoir la fenêtre Erreur d'exécution 13 : Incompatibilité de type.
Estelle_BNP
Messages postés25Date d'inscriptionjeudi 14 décembre 2006StatutMembreDernière intervention10 mai 2008 20 août 2007 à 09:54
Ca marche à condition d'écrire MyErr: au lieu de MyErr.
Par contre le fait d'initialiser le texte de la Combobox1 ) Null relance la fonction Change et donc je dois cliquer deux fois sur le bouton OK de la fenêtre avec le message d'erreur. Y-a-t-il un moyen pour éviter ça ?