Bonjour,

je suis novice en VBA et rencontre le problème suivant :

Dans un userform, j'ai créé un frame dans lequel j'ai placé 8 checkbox l'un en dessous de l'autre. Mon objectif est de créer une chaine de caractères avec l'intitulé des checkbox sélectionnés.
Exemple : imaginons que mes checkbox s'appellent A1, A2, A3... si je coche A2, A3 et A6, j'aimerais que ma chaine se nomme"_A2_A3_A6".

Mon problème est que la chaine qui se crée ne respecte pas l'ordre vertical du cochage. Dans mon exemple précédent, je vais avoir par exemple "_A2_A6_A3"

Voici mon code.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
ch_comp = ""
For Each bouton_compet In Frame_competences.Controls
      If bouton_compet.Value Then ch_comp = "_" + bouton_compet.Caption + ch_comp
Next
Je ne vois de quoi peut venir ce non respect de l'ordre vertical des cases cochées. Je précise que j'ai bien nommé mes checkbox : checkbox1, checkbox2,...

Merci pour votre aide.