bonjour,
Il n'est nulle part fait appel à la notion de caption :
J'ai mis un N° sur les boutons pour les besoins de la démo mais les macros n'utilisent pas ces captions.
Dans mon modèle le module de classe utilise seulement le Name natif et récupère son indice pour le passer en paramètre integer à la macro (Action)
Private Sub CmdBtnGrp_Click()
Dim s%
'récupération du N° d'objet dans le string "Name"
s = CInt(Right(CmdBtnGrp.Name, Len(CmdBtnGrp.Name) - 13))
Action s
End Sub
La difficulté est dans l'ordonnancement des boutons à la construction et surtout dans la permanence de cet ordonnancement si le nombre des boutons peut varier dans le temps.
Il y a aussi un autre problème c'est le nombre de tableaux et le "step" de "décalage"
ici c'est 35 mais est-ce le cas de tous les tableaux ?
Il y a plusieurs options possibles pour résoudre ces difficultés et c'est surtout dans la conception que réside la difficulté.
Dans tous les cas on créera au moins autant de boutons que de cas potentiellement prévisibles.
Selon si le nombre de boutons est susceptible de varier ou non, il faudra peut-être passer successivement par plusieurs Dim Buttons() As New Classe1
pour chacun des 13 tableaux. Dans Module1 ça pourrait éventuellement donner :
Dim ButtonsA() As New Classe1
Dim ButtonsB() As New Classe1
'... etc
Dim ButtonsM() As New Classe1
Pour le Init en l'absence d'idée précise sur la dynamique de la construction, je te passe les détails... Ça peut aller d'un simple Select Case si la structure est figée (donc identique au modèle) à un Init un peu plus torturé si l'on doit créer des groupes de boutons différents.
Au niveau du module de classe également si les "Step" sont différents il faudra gérer au moins 2 paramètres supplémentaires :
Le N° de première ligne de chaque tableau
Le nombre de boutons par tableau
Et le décalage...
De quoi se stimuler un peu les neurones, quoi ! Mébon... En l'absence de fichier je ne m'avance pas plus... C'est juste pour montrer la puissance des modules de classe.
A+