Merci de ne pas utiliser la coloration syntaxique en dehors des forums qui y sont autorisés (voir règles de présentation à la fin).
Votre code à plusieurs défauts majeurs.
En premier lieu, vous utilisez des '
Case' sur des variables et vous ré-utilisez ces même variables pour le '
Until'. Cela ne peut être compatible car selon l'endroit ou vous vous trouvez dans la boucle lors du clic sur tel ou tel bouton, le '
Case' correspondant sera peut être exécuté ou non.
Si vous devez sortir de la boucle et donc du script c'est après les instructions des '
Case' qu'il faut rajouter la commande qui va bien tel qu'une sortie de boucle par exemple.
Ensuite, vous pouvez effectivement mélanger à volonté chaîne ou numérique.
Par contre dans votre script, je ne vois pas du tout l'intérêt de créer un tableau à deux dimensions et d'y stocker le contrôle ID de votre contrôle checkbox ainsi qu'un nom que vous lui attribué.
Si c'est pour tester l'état du contrôle, utilisez l'UDF
_IsChecked(). Un sujet récent à été abordé sur le même thème. Faites quelques recherches.