Bonjour à tou(te)s,
Excel est l'outil central de mon activité au quotidien. Bien que je ne sois pas (du tout) développeur, je m’essaie néanmoins à l'utilisation de VBA pour me faciliter certaines tâches rébarbatives. J'ai ainsi pu créer un classeur qui me permet de renseigner une feuille de calcul via l'utilisation d'un UserForm, ce dernier renfermant un (très) grand nombre de TextBox, ComboBox ou de CheckBox. Leurs valeurs sont récupérées et placées aux adresses prévues sur la feuille de calcul, et tout marche parfaitement bien.
Mon problème est que je vais devoir retoucher une partie de mon code pour l'ajout de quelques fonctionnalités, mais celle-ci (cette partie) avoisine les 800 lignes et bien qu'elle soit commentée correctement, n'ayant pas appliqué de méthodes propres aux développeurs (et pour cause, je n'en suis pas...) j'avoue que la tâche est particulièrement fastidieuse.
Par simplicité, et méconaissance, j'ai codé l'intégralité des références comme dans l'extrait ci-dessous :
Ma question est donc la suivante : est-il possible d'améliorer le code ci-dessus en réduisant le nombre de lignes par l'emploi d'une incrémentation, à quelque chose comme poser ComboBox(n).value = range("A"n) puis incrémenter les références aux objets et aux adresses des cellules par (n+1) ? Ce n'est pas tant le concept d'incrément qui me pose problème mais la manière dont cette incrémentation doit être écrite (sa syntaxe) au regard des adresses et autres numéros de série des ComboBox...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub CommandButton1_Click() ComboBox1.value = range("A1").value ComboBox2.value = range("A2").value ComboBox3.value = range("A3").value ComboBox4.value = range("A4").value ComboBox5.value = range("A5").value ComboBox6.value = range("A6").value ComboBox7.value = range("A7").value ComboBox8.value = range("A8").value ComboBox9.value = range("A9").value ComboBox10.value = range("A10").value End Sub
En vous remerciant par avance.
Partager