-
modifier les TabIndex
bonjour
j'ai créé dans Excel 2000 un UserForm qui contenait un MultiPages, chaque page ayant ses TextBox, ses OptionButtons ou ses CheckBox.
Puis j'ai décidé de tout remettre dans l'UserForm, sans passer par les MultiPages
Problème : les éléments avaient des TabIndex, et maintenant c'est du n'importe quoi. J'ai essayé de modifier les valeurs, mais Excel me l'interdit (les valeurs se remettent à 0, ou à l'ancienne valeur automatiquement. J'ai essayé de toutes les recréer en commençant à 101, puis 102, 103 etc, afin de ne pas faire de doublon, mais Excel ne veut pas non plus.
Et moi, je n'ai pas envie de tout effacer pour tout recommencer, dans le bon ordre...
Si quelqu'un a une astuce, je lui témoigne ma reconnaissance éternelle
cordialement
Hubs
-
Bonjour,
Il est possible de changer les valeurs de TabIndex, mais Excel renumérote automatiquement à chaque changement, à partir de 0...
Par exemple, si j'ai 2 contrôles sur un UserForm, c0 et c1 avec au départ c0.TabIndex=0 et c1.TabIndex=1. Si j'attribue c0.TabIndex=2, Excel va bien prendre mon changement en compte puis renuméroter, et j'aurai donc c0.TabIndex=1 et c1.TabIndex=0.
Une technique pour changer une série de contrôles est de les sélectionner les uns après les autres, dans l'ordre inverse (à partir du dernier), et de changer la propriété TabIndex à 0.
Un autre moyen plus facile (mais plus lourd s'il y a beaucoup d'objets) est d'aller dans le menu Affichage / Ordre de tabulation. Ce menu permet aussi de vérifier plus facilement l'ordre des objets.
-
merci
merci beaucoup.
Je n'aurai jamais eu l'idée d'aller chercher ça dans le menu affichage...
Ça fonctionne. Mais j'ai l'impression que dès qu'on modifie un contrôle, l'ordre est perturbé à nouveau. Je termine de coder les fonctions, et je peaufinerai à la fin.
En tout cas, ma reconnaissance éternelle est acquise à Tedo01
cordialement
Hubs