Récupérer le numéro d'un control

Leskwal

XLDnaute Occasionnel
Bonjour le Forum

Voilà ma demande : :confused:

J'ai plusieurs Checkbox dans un USF.

Les checkbox sont formatés de la manière suivante :

Checkbox_NOM_1
Checkbox_NOM_2
ETC

Mon souhait: Création d'une variable (INTEGER) qui, lorsque je coche le checkbox, prend la valeur se trouvant à la fin du nom du checkbox (1, 2, 3...)

Les checkbox vont de 1 à 30 ...

Désolé : quand j'ai créé l'application, je n'avais pas prévu cela et donc les checkbox sont formatés en :

Checkbox_NOM_1 et malheureusement pas Checkbox_NOM_01


Merci d'avance pour vos réponses

Cordialement

Pascal
 

Papou-net

XLDnaute Barbatruc
Re : Récupérer le numéro d'un control

Bonjour Pascal,

Il suffit de récupérer la partie droite du contrôle en écrivant par exemple :

Code:
varIndex = Replace(CheckBox(i).Name, "Checkbox_NOM_", "")

Et tu obtiendras les valeurs numériques de droite.

A adapter à ton contexte, bien évidemment.

Cordialement.
 

Papou-net

XLDnaute Barbatruc
Re : Récupérer le numéro d'un control

RE :

Arf, j'ai mal lu la question et je pensais que tu traitais tes contrôles au sein d'une boucle. D'où l'indice i que j'avais mentionné.

Voici donc comment procéder pour chacun de tes contrôles :

Code:
Private Sub CheckBox_NOM_1_Click()
varIndex = Replace(CheckBox_NOM_1.Name, "CheckBox_NOM_", "")
...
...
End Sub
En modifiant le nom du contrôle pour chaque checkbox, bien entendu.

Ceci dit, si tu as une trentaine de checkbox, l'idéal serait de les traiter par un module de classe. Mais c'est assez ardu et je ne connais pas ton niveau en VBA.

Si tu as besoin, n'hésites pas.

Cordialement.
 

Leskwal

XLDnaute Occasionnel
Re : Récupérer le numéro d'un control

RE

OK j'ai compris la raison du i.

FOR i = 1 to ... next i​
:)

Effectivement je vais créé un module.
En gros voilà ce que je vais essayer de mettre en œuvre :

En cochant le checkbox, je capte la valeur, grace à ton aide, :eek: (par exemple 10) du checkbox dans une variable public, et lance un module qui rendra visible tout les TEXTBOX, LABEL .... se terminant par la valeur de la variable publique (dans mon exemple :10).
Ce module me permettra de réduire le code sous l'USF.

Je vais donc utiliser tes conseils pour faire cela.

Encore un GRAND MERCI.

Pascal
 

Discussions similaires

Statistiques des forums

Discussions
313 344
Messages
2 097 337
Membres
106 916
dernier inscrit
Soltani mohamed