XL 2010 Déclaration de variable typée - format special

vgendron

XLDnaute Barbatruc
Hello le forum

Je m'amuse à essayer de refondre complètement une application en cours de dev pour un des membres de ce forum
Ca passe par définir un type personalisé "tClient" dont les éléments sont un IDClient, un nom, prénom....

VB:
Type tClient
    IdClient As Long
    Nom As String
    Prénom As String
    DateAnniv As Date
    LieuNaissance As String
    Ville As String
    CP As Double 'peut on imposer le formatage '00 000' dès la déclaration
    Adresse1 As String
    Adresse2 As String
    
'    Tel1 as ??
'    Tel2 as ???
End Type

tout comme je défini l'IDClient comme un long, et la DateAnniv comme une date, est il possible de définir le tel comme un numéro de tel au format 00.00.00.00.00
ou le CP comme un nombre au format 00 000
ou alors, je dois les définir comme des doubles dont je controlerai le formatage en cours de saisie?
 

dysorthographie

XLDnaute Accro
Bonsoir,
dans un module de classe que tu nomme tClient!
VB:
Private IdClient_ As Long, Nom_ As String, Prénom_ As String, DateAnniv_ As Date
Private LieuNaissance_ As String, Ville_ As String, CP_ As Double
Private Adresse1_ As String, Adresse2_ As String

Public Property Let IdClient(value As Long)
IdClient_ = value
End Property
Public Property Get IdClient() As Long
IdClient = IdClient_
End Property
Public Property Let Nom(value As String)
Nom_ = value
End Property
Public Property Get Nom() As String
Nom = Nom_
End Property
Public Property Let Prénom(value As String)
Prénom_ = value
End Property
Public Property Get Prénom() As String
Prénom = Prénom_
End Property
Public Property Let DateAnniv(value As Date)
DateAnniv_ = value
End Property
Public Property Get DateAnniv() As Date
DateAnniv = DateAnniv_
End Property
Public Property Let LieuNaissance(value As String)
LieuNaissance_ = value
End Property
Public Property Get LieuNaissance() As String
LieuNaissance = LieuNaissance_
End Property
Public Property Let Ville(value As String)
Ville_ = value
End Property
Public Property Get Ville() As String
Ville = Ville_
End Property
Public Property Let CP(value As Variant)    'peut on imposer le formatage '00 000' dès la déclaration
CP_ = Val(Replace(value, " ", ""))
End Property
Public Property Get CP() As Variant   'peut on imposer le formatage '00 000' dès la déclaration
CP = Format(CP_, "00 000")
End Property
Public Property Let Adresse1(value As String)
Adresse1_ = value
End Property
Public Property Get Adresse1() As String
Adresse1 = Adresse1_
End Property
Public Property Let Adresse2(value As String)
Adresse2_ = value
End Property
Public Property Get Adresse2() As String
Adresse2 = Adresse2_
End Property
dans un module standard
Code:
Sub test()
Dim t As New tClient
t.CP = 69008
Debug.Print t.CP
End Sub
 

dysorthographie

XLDnaute Accro
j'avais oublié!
VB:
Private IdClient_ As Long, Nom_ As String, Prénom_ As String, DateAnniv_ As Date
Private LieuNaissance_ As String, Ville_ As String, CP_ As Double
Private Adresse1_ As String, Adresse2_ As String, Tel_ As String

Public Property Let Tel(Value As Variant)
Tel_ = Replace(Value, ".", "")
End Property

Public Property Get Tel() As Variant
Tel = Format((Tel_), "@@.@@.@@.@@.@@")
End Property
 

dysorthographie

XLDnaute Accro
Property get let désigne des propriétés en d'autre terme des variable mais comme tu t'en rends compte avec la variable Tel je gère la mise en forme! et le module de classe replace avantageusement ton type personalisé!

notes que dans ton module de classe tu peux également ajouter des fonctions et des macros!
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Autorisation
Réponses
2
Affichages
744

Statistiques des forums

Discussions
312 172
Messages
2 085 932
Membres
103 050
dernier inscrit
HAMZA BKA