Sous-type "String" en VBA / type personnalisé [Résolu]

Signaler
Messages postés
2
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
26 juin 2009
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
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

Messages postés
2
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
26 juin 2009

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!
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
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 
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
pense au bouton "réponse acceptée" dans ce cas