Module de classe - Frame intégrée à un onglet

Bonjour,

Je souhaite utiliser une Frame intégrée à une feuille excel comme un object donc en passant pas un module de classe.

Quelqu'un pourrait-il regarder mon code ? Il ne fonctionne pas, je pense que cela vient du dimensionnement. J'ai essayé XlForms, Frame, Object,... Je n'arrive pas à trouver ni dans les tuto ni dans la library.

Voici le code figurant dans ThisWorbook permettant d'instancier l'object à l'ouverture de l'onglet :

Option Explicit
Dim cframe As Classe1
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name = "Feuil1" Then
    Set cframe = New Classe1
    Set cframe.oframe = Sh.Shapes("Frame1")
End If
End Sub

Le code dans le module de classe. Je pense qu'il y a déjà un problème au niveau de la déclaration de la variable..

Option Explicit
Public WithEvents oframe As Frame

Private Sub oframe_Click()
Stop
End Sub

Je vous remercie par avance pour votre aide.

14classeur2.xlsm (27.74 Ko)

Bonjour,

Mets ce code dans le module de la feuille pour commencer afin de simplifier (après, tu pourras le mettre dans le module du classeur si ça a une importance) :

Dim cframe As New Classe1

Private Sub Worksheet_Activate()

    Set cframe.oframe = Feuil1.Frame1

End Sub

et dans le module de classe avec une boite de message au clic pour le test :

Public WithEvents oframe As MSForms.Frame

Private Sub oframe_Click()

    MsgBox oframe.Name

End Sub

Merci Theze

Ca n'a peut-être l'air de rien mais j'y étais depuis un bon moment,...

Maintenant je vais essayer de récupérer tous les contrôles de cette Frame, j'ai vu que pour çà je dois travailler au niveau des collections de l'objet que je viens de créer. Je retrousse mes manches.

Merci pour ton aide !!

Rechercher des sujets similaires à "module classe frame integree onglet"