Type perso dans module de classe

Résolu
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 - 11 sept. 2006 à 15:20
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 - 11 sept. 2006 à 16:03
Violent Ken

Salut, et désolé de demander de l'aide si souvent.... On va me traiter de flooder ^^

Enfin bon, j'ai une petite question : comment puis-je utiliser un type perso dans un module de classe ?
Mon but est de renvoyer grâce à Byref une variable d'un type perso.

En gros, j'aimerais faire çà :

Option Explicit


Public Type TYPE_PERSO
    ELEMENT1 As Long
End Type


Public Sub FONCTION_PUBLIQUE(ByRef VARIABLE As TYPE_PERSO)
    'sub qui renverra VARIABLE
End Sub

mais le type en public ne convient pas... tout comme le type perso dans une sub publique ?

Merci, @+

7 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 sept. 2006 à 15:47
salut,
pas de type public dans un module de classe (sauf projet activex il me semble)

solution : passer par une classe

'= -=-=-=-=-
' Form1.frm
'=-=-=-=-=-
'
Option Explicit 
Private cClass As New MaClasse 
'
Private Sub Form_Load() 
    Dim Structure As New TYPE_PERSO 
    Structure.ELEMENT1 = 90 
    Call cClass.FONCTION_PUBLIQUE(Structure) 
    MsgBox Structure.ELEMENT1 & vbCrLf & _ 
           Structure.ELEMENT2 & vbCrLf & _ 
           Structure.ELEMENT3 

    Set Structure = Nothing 
    Unload Me 
End Sub 
'
Private Sub Form_Unload(Cancel As Integer) 
    Set cClass = Nothing 
End Sub 

'=-=-=-=-=-=-=
' MaClasse.cls
'=-=-=-=-=-=-=
'
Option Explicit 
Public Sub FONCTION_PUBLIQUE(ByRef VARIABLE As TYPE_PERSO) 
    'sub qui renverra VARIABLE
    With VARIABLE 
        .ELEMENT2 = CLng(Date) 
        .ELEMENT3 = .ELEMENT1 + .ELEMENT2 
    End With 
End Sub 

'=-=-=-=-=-=-=-=
' TYPE_PERSO.cls
'=-=-=-=-=-=-=-=
'
Option Explicit 
Public ELEMENT1 As Long 
Public ELEMENT2 As Long 
Public ELEMENT3 As Long

<small> Coloration
syntaxique automatique [AFCK] </small>
       

++
PCPT   [AFCK]
<hr size ="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
11 sept. 2006 à 15:59
Salut,


Type_Perso est un autre module de classe que tu dois ajouter a ton projet






@+,   Ju£i?n
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 sept. 2006 à 16:00
beh çà marche chez moi...
TYPE_PERSO est déclarée par la Form : Dim Structure As New TYPE_PERSO

et TYPE_PERSO est un module de classe
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
11 sept. 2006 à 15:33
Salut,

Je sais que cela n'est pas tres propre mais tu peux peu etre passer par un variant qui representera en fait Ton TYpe

@+,   Ju£i?n
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
11 sept. 2006 à 15:40
Violent Ken

Non, çà ne marche pas, "un objet est requis" à la ligne VARIABLE.Rem1=...

Public Sub FONCTION_PUBLIQUE(ByRef VARIABLE As Variant)
    'sub qui renverra VARIABLE
    VARIABLE.rem1 = "ok"
End Sub

@+
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
11 sept. 2006 à 15:54
Violent Ken

D'accord, mais ou dois-je déclarer TYPE_PERSO ?

Car il y a un problème à la ligne :
Public Sub FONCTION_PUBLIQUE(ByRef VARIABLE As TYPE_PERSO) 

(type définit par l'utilisateur non défini)
Merci, @+
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
11 sept. 2006 à 16:03
Violent Ken

Erf, autant pour moi, désolé pour cette seconde question inutile -_-

Encore une fois : MERCI PCPT, tu me sauves la vie ;)

Merci encore, merci jrivet aussi pour tes réponse.

@+
0
Rejoignez-nous