Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

module de classe

1 réponse
Avatar
Olivier
Bonjour,

j'ai écrit un module de classe "Cylindre" en guise d'exemple d'apprentissage
avec 2 propriétés hauteur et rayon et une méthode qui calcule le volume
H*r²*pi.

Je 'instancie comme suit
dim MonCyl = new Cylindre
MonCyl.h= 2
MonCyl.r =3
debug.print MonCyl.volume


ça fonctionne

Mais est-il possible de l'instancier en passant les arguments hauteur et
rayon en même temps comme suit ?
set MonCyl (2,3) = new Cylindre

comment ( en ajustant la méthode cylindre_initialize ?)

merci de votre aide

Olivier

1 réponse

Avatar
Croquignol
Bonjour,

Malheureusement c'est impossible, les modules de classe VBA ne le permettent
pas.

Tu peux toujours passer en revanche par une fonction de ce genre :

Function NewCylindre(H As Double, W As Double) As Cylindre
Set NewCylindre = New Cylindre
NewCylindre.H = H
NewCylindre.W = W
End Function

Sub Test()
Dim MyCylindre As Cylindre
Set MyCylindre = NewCylindre(2, 3)
End Sub

Amicalement,

Croquignol


Bonjour,

j'ai écrit un module de classe "Cylindre" en guise d'exemple d'apprentissage
avec 2 propriétés hauteur et rayon et une méthode qui calcule le volume
H*r²*pi.

Je 'instancie comme suit
dim MonCyl = new Cylindre
MonCyl.h= 2
MonCyl.r =3
debug.print MonCyl.volume

ça fonctionne

Mais est-il possible de l'instancier en passant les arguments hauteur et
rayon en même temps comme suit ?
set MonCyl (2,3) = new Cylindre

comment ( en ajustant la méthode cylindre_initialize ?)

merci de votre aide

Olivier