Je m'essaie à la création d'un module de classe pour piloter des checkbox.
J'ai une classeur avec module de classe qui fonctionne et je tente de reproduire les instructions.
dans un module standard de l'original j'ai cette déclaration "Public Tab_CmbB() As New Class_ComboBox" qui ne pose pas problème.
dans mon nouveau classeur, dans un module standard je fais cette déclaration"Public Tab_ChkB() As New Class_CheckBox". cette ligne génère l'erreur suivante
"Erreur de compilation, Type defini par l'utilisateur non defini".
Bonjour.
Évitez le '_' dans les identifiants: il sert de séparateur dans les noms de Sub de prise en charge d'évènements entre le nom de l'objet et le nom de l'évènement.
on pourrait avoir un exemple de ce module classe et de la macro qui appelle le classement
quelle méthode emploi tu
la méthode collection
la méthode tableau d'instance
@tatiak Effectivemet, si j'avais mieux regardé le classeur original j'aurais vu que le module de classe avait le même nom que la déclaration toutefois j'ignorais cette subtilité. c'est tout bon.
re
c'est pas une subtilité
tu a un module classe "toto"
tu instancie des "toto" pas des "titi"
attention pour ta classe checkbox si tu a l'intention d'intervenir sur la valeur d'un a partir d'un autre
le changement de sa valeur par VBA déclenche l’événement "click"
tu aurais un events propagation infini
il te faut donc dans l’événement de substitution mettre ton code dans un
'évenement de substitution dans la classe
VB:
private sub check_click()
if activecontrol.name=check.name then
'ton code ici
end if
end sub
"check" étant le withevents que tu a déclaré en haut du module classe