Sous-type "String" en VBA / type personnalisé

Résolu
ebergonn Messages postés 2 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 26 juin 2009 - 26 juin 2009 à 11:22
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 26 juin 2009 à 13:03
Bonjour,

Après avoir
longtemps cherché sur Internet, je n'ai toujours pas trouvé de solution à mon problème qui est le suivant:

J'utilise une classe dans laquelle un de mes champ  de type String. Or je voudrais limité ce champ à une liste de valeurs autorisées qui sont "+++", "++", "+","-", "--" et "---". Pour cela j'aurai donc aimé définir un sous-type personnalisé pour pouvoir ensuite déclaré mon champ comme une variable de ce sous type.

En gros voilà le code que j'aimerai avoir:

'Déclaration du sous-type
Public type ma_liste_de variable

' Déclaration de la classe
Private champ1 As Integer
Private champs2 As String
Private champ2 as ma_liste_de variable




J'ai pensé à utilisé un type Enum mais cela n'est possible qu'avec des nombres.

Merci de vos réponses.

3 réponses

ebergonn Messages postés 2 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 26 juin 2009
26 juin 2009 à 12:10
Mais bien sur!
 ça fait  3 heures que je crée des classes, j'avais la solution sous les yeux et j'y ai même pas pensé.

Merci beaucoup!
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 juin 2009 à 11:41
salut,

dans une class nommée ma_liste_de_variable :





Option Explicit




Private 
mValue 
As String


Public Property Get 
Value() 
As String

    Value =  nValue
End Property
Public Property Let Value(ByVal nValue As String)
    Select Case nValue
        Case "+++", "++", "+", "-", "--": mValue = nValue
        Case Else:  Err.Raise 50001, "ma_liste_de variable ", "La valeur attribuée ne correspond pas au modèle de valeurs
attendues"
    End Select
End Property





<small>
[../code.aspx?ID=39466 Coloration VB6, VBA,
VBS]
</small>






à utiliser avec
Private champ2 as NEW ma_liste_de variable




tu peux peut-être jouer avec les propriétés (attributs) pour que VALUE soit la propriété par défaut

NB : VBA !! pas VB.NET. catégorie modifié, attention aux thèmes





<hr size ="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 juin 2009 à 13:03
pense au bouton "réponse acceptée" dans ce cas 
0
Rejoignez-nous