Creer module de classe VB Excel

Fermé
andromedor - 29 janv. 2010 à 15:59
Aligator_427 Messages postés 54 Date d'inscription mardi 26 janvier 2010 Statut Membre Dernière intervention 21 février 2010 - 30 janv. 2010 à 00:04
Bonjour,

J´essaie de créer un nouveau type ou nouveau objet (je ne sais pas comment on dit) qui serait de la forme suivante. Ma nouvelle classe serait appelé FICHE et dans cette classe, il y aurait une propriété appelée séquence.

J´écris dans mon module de classe:

Private Type Sequence ' Définition du type "Mot"
Chaine As String
Langue As String
Gram As String
End Type

Private Type FICHE
Num As Integer
Mot As Sequence
Commentaire As String

Private Sub Class_Initialize()
FNum = 0
End Sub

Public Property Let Num(Valeur As Integer)
FNum = Valeur
End Property

Private Property Let Mot(Valeur() As Sequence)
FMot.Chaine = Valeur.Chaine
FMot.Langue = Valeur.Langue
FMot.Gram = Valeur.Gram
End Property

Public Property Let Commentaire(Valeur As String)
FCommentaire = Valeur
End Property


Public Property Get Num() As Integer
Num = FNum
End Property

Private Property Get Fra_mot() As Sequence
Mot = F.mot
End Property

Public Property Get Commentaire() As String
Commentaire = FCommentaire
End Property

--------------------------------------------------------------------------------------

Lorsque dans un module principal, j´essaie de tester mon nouvel objet, j´obtiens un message d´erreur.

Sub test()

Dim element as New FICHE

element.Num = 1 'Fonctionne
element.Mot.Chaine = "pomme" ' Me donne un message d´erreur disant qu´il est impossible de trouver la méthode ou la donnée membre

End sub

Je suis bloqué la dessus depusi toute la matinée. Je sais pas si quelau´un pourrait me donner un coup de main.

Merci bien :)
A voir également:

1 réponse

Aligator_427 Messages postés 54 Date d'inscription mardi 26 janvier 2010 Statut Membre Dernière intervention 21 février 2010 21
30 janv. 2010 à 00:04
C'est normal, tu ne peux pas passer à ta propriété une valeur de type privée depuis l'extérieur de ta classe; et si element fonctionne c'est parcequ'il ne fait pas référence au type privée FICHE mais à ta classe FICHE qui elle est publique. Passe ton type sequence en public et met le dans un module (il ne voudra pas de type public dans ta classe)
0