Salut Laurent,
1. Concernant le nommage des controles de userform:
D'abord une petite précision: contrairement à son grand frère VB, VBA ne gère pas les index des controles (ex.: Textbox(1)). Donc pour contourner ce problème il faut nommer le control ex Textbox1 et ensuite on utilise son nom dans le code (ex.: controls('Textbox1'))
Donc quand je te parle de boucle je l'imaginais dans la lecture d'un range et de l'attribution des valeurs aux textbox. Par exemple si tes textbox son nommée de Textbox1 à Textbox10 et que tu les remplis à partir du range('A20') à range('A29').
Plutôt que d'écrire Textbox1=Range('A1') et ce 10 fois, une petite boucle fera beaucoup mieux l'affaire comme par exemple
Code:
For i=1 to 10
controls('Textbox' & i).text=Range('A' & i + 19).value
Next
Voila, en 3 lignes comment éviter d'en écrire 10 (ou plus). Autre avantage, si ton range se déplace, tu changes ou ajoute juste un paramètre (l'idéal c'est d'utiliser une plage nommée et de récupérer ses coordonnées via Range('monNom').columns, etc.) et ton code est vite (et bien) modifié. Sinon il faut que tu modifies autant de lignes que de ranges ou de controls. Cela devient vite fastidieux et source d'erreur.
2. Fichier INI
C'est pas toujours très pratique à utiliser mais une fois maîtrisé c'est tout bénéf surtout si tu utilises un installeur qui sait écrire dans l'INI.
Tu peux aussi utiliser la Registry qui est une tès bonne solution même si elle est rarement utilisée (Excel propose plusieur fonctions intégrées très simples d'utilisation). Normalement ton installeur doit savoir aussi écrire dans la registry
3. Les barres d'outils:
Tu rétablis quand on change de feuille...pas de classeur
Voili voilou.
Je reviendrai peut-être à la charge si j'ai un peu de temps.
Bon courage
Message édité par: jam, à: 24/11/2005 11:43