Micha
24 avril 2010 à 18:48
Bonjour Fred,
Pour créer une classe en vba tu cliques sur "insertion Module de classe", tu renommes ensuite ton module de classe (c'est comme ca qu'on appelle une classe en vba), dans ton cas tu le renommes "humain".
Enfin dans l'éditeur de texte de ton module de classe "humain" tu écris :
'---------------------
' Classe humain
'---------------------
Dim pvardit As String
Dim pvarvoit As Integer
'--------------------------
'
' vardit
'
'--------------------------
Public Property Get vardit () As String
vardit = pvardit
End Property
Public Property Let vardit (Value As String )
pvardit = Value
End Property
'--------------------------
'
' varvoit
'
'--------------------------
Public Property Get varvoit () As Integer
varvoit = pvarvoit
End Property
Public Property Let varvoit (Value As Integer )
pvarvoit = Value
End Property
'--------------------------
'
' methode parler
'
'--------------------------
Sub parler()
MsgBox (vardit)
End Sub
'--------------------------
'
' methode regarder
'
'--------------------------
Sub regarder()
MsgBox (varvoit)
End Sub
Pour utiliser ton objet (par exemple dans un formulaire), tu écris :
Private Sub CommandButton1_Click()
dim fred as new humain
fred.vardit = "coucou"
fred.parler
End Sub
Voilà, c beau la vie quand on peut compter sur la solidarité des pros :)
Public Property Let varvoit (Value As Integer )
pvarvoit = Value
End Property
par :
Public Property Set varvoit (Value As humain)
Set pvarvoit = Value ' ne pas oublier le terme "Set" car pvarvoit est de type référence
End Property
Avec ca vous pouvez construire des classes encapsulant des classes, etc... les joies de la programmation objet en vba :-O