Bonjour,
j'ai créé un UserForm classique sauf que je rajoute "dynamiquement" (par une macro) des contrôles supplémentaires plus ou moins nombreux.
à chacun de ces contrôles je donne un nom commençant soit par "DS_CB_Local_" soit par "DS_CB_Clef_" suivi d'un indice donc le premier se nomme "DS_CB_Local_1"
ma règle de nommage est :
- "DS" signifie demande Simple
- "CB" signifie CheckBox (donc le contrôle est une case à coché)
- Dénomination (soit "Local" soit "Clef")
- N° d'indice par Dénomination
Par défaut ma macro fait une boucle sur un nombre de salle (déterminé par ailleurs) donc à chaque tour de boucle elle crée un contrôle de type "Local"
mais si cette salle est équipée d'une serrure la macro crée en plus un contrôle de type "clef" etc
Le UserForm me permet de saisir si une personne a accès à telle ou telle salle et si en plus elle possède une clef dans le cas où il y a une clef affectée à la salle
Mon problème est le suivant : je veux retrouver (pour une personne quelles sont les salle qui lui sont accessible et si elle possède une clef de cette salle
J'ai donc créé une boucle basée sur le nom des contrledonc ce que je cherche est après l'instruction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 IndicePDF = 0 For i = 1 To Nb_Salle If demande_Simple.Controls("DS_CB_Local_" & i).Value = True Then 'ok la salle est cliquée IndicePDF = IndicePDF + 1 ReDim Preserve pdf(IndicePDF) 'maintenant reste à savoir si la clef de cette salle est cliquée 'donc faut d'abord savoir s'il y a une clef effectée à la salle cliquée, sachat que par défaut si une clef est affactée à une case 'automatiquement le controle qui suit le contrôle de la salle aura un nom qui commence par "DS_CB_Clef_" et non parDS_CB_Local_ End If Next iexiste t _il une instruction du style Index = demande_Simple.Controls("DS_CB_Local_" & i).Index (Un peu comme retrouver le numéro d'index d'un onglet Excel quand on connait son nom.
Code : Sélectionner tout - Visualiser dans une fenêtre à part If demande_Simple.Controls("DS_CB_Local_" & i).Value = True
J'ai trouvé la notion de TablIndex mais ça ne correspond pas
Merci pour votre aide
Partager