laurent950
XLDnaute Accro
Bonsoir le forum,
J'ai un soucis avec un module de classe je comprend pas pourquoi je ne peux pas reprendre
la même variable du module de classe avec "Get" et "Let" soit : TabMusique (Plantage !)
pour extraire utilisé se tableau dans le module standard :
je suis obligé de passé par un : "Get" avec TabMusique
----------------------- et par un : "Let" avec TabMusique2
Si vous avez une réponse ? un grand merci car je cherche mais ne trouve pas de réponse.
Fichier excel joint au message :
"Module de classe constructeur tableau2.xlsm"
Code et message (Image) platage
Ci-dessous le code qui fonctionne.
Dans un module standard « Module1 » je crée cette procédure :
Dans le module de classe « Musique » je crée cette procédure :
Laurent
J'ai un soucis avec un module de classe je comprend pas pourquoi je ne peux pas reprendre
la même variable du module de classe avec "Get" et "Let" soit : TabMusique (Plantage !)
pour extraire utilisé se tableau dans le module standard :
je suis obligé de passé par un : "Get" avec TabMusique
----------------------- et par un : "Let" avec TabMusique2
Si vous avez une réponse ? un grand merci car je cherche mais ne trouve pas de réponse.
Fichier excel joint au message :
"Module de classe constructeur tableau2.xlsm"
Code et message (Image) platage
Ci-dessous le code qui fonctionne.
Dans un module standard « Module1 » je crée cette procédure :
VB:
Sub Example()
Dim ObjetTab As New Musique
pRows = 5 ' Ligne (5)
pCols = 3 ' Colonne (3)
' Avec Let
ObjetTab.TabMusique(pRows) = pCols
' Avec Get
Dim TabMus() As Variant
TabMus = ObjetTab.TabMusique2
' Si j'utilise ObjetTab.TabMusique avec Get cela ne fonctionne pas ? je suis obligler de passé
' par ObjetTab.TabMusique2 pour arriver à récupérer ce tableau stocké dans le module de classe
' car si non j'ai le message d'erreur est lorsque l'on tape ObjetTab. (Il n'y a rien de mentionné
' avec la procédure écrite dans le module de classe : Property Get TabMusique() donc je suis
' obligé de l'écrire différemment j'ai choisie Property Get TabMusique2()... Mais j'aurais pu
' l'appeler Property Get TOTO()
' Je ne comprend pas cette nuance
' exemple : remplire ce tableau (Crée est dimensionné par le module de classe)
For i = LBound(TabMus, 2) To UBound(TabMus, 2)
For j = LBound(TabMus, 1) To UBound(TabMus, 1)
Cells(j, i) = "Ligne" & j & " / " & "Colonne" & i
Next j
Next i
End Sub
Dans le module de classe « Musique » je crée cette procédure :
VB:
Option Base 1
Private mTabMusique() As Variant
Property Let TabMusique(Rows, Cols)
ReDim mTabMusique(Rows, Cols)
End Property
' Copie du message d'erreur dans le fichier excel avec : Property Get TabMusique()
' je comprend pas pourquoi ? ca devrait fonctionné ou je passe à côté de quelque chose ?
Property Get TabMusique2() ' Ici fonctionne correctement !
TabMusique2 = mTabMusique
End Property
Laurent
Pièces jointes
Dernière édition: