Bonjour tout le monde les gens,
Salut @Mimimathy, @kiss6,
@kiss6 et bien dit donc, c’est la forme aujourd’hui
Du coup j’ai avancé de mon côté aussi.
@Mimimathy, j’ai des difficultés pour le ComboBox Civilité, j’ai mis un range A3:A500 mais je sais qu’il faudrait que j’utilise Dl, seulement j’y arrive pas !
Autre chose qui me bloque c’est la date de naissance valide “pas supérieur à la date du jour”
Je pense qu’il faut que je mette une condition If TBox_DNais >= aujourd’hui Then “Erreur de saisie” mais je n’arrive pas a l’exprimer.
@Mimimathy, En attendant regarde si ce qui ai déjà fait correspond au cahier des charges avant que je m’enfonce dans des erreurs trop graves.
Le code:
Option Explicit
'D?claration des variables pour tout le module
Dim Lig%, Dl%
Dim Espace$
Dim Slash As Byte
Dim Civ As Range
Private Sub Btn_Quitter_Click()
'Ferme l'USF
Unload Me
End Sub
Private Sub Cbox_Civilite_Change() 'S?lection civilit?
'?criture en nom propre
Cbox_Civilite = Application.Proper(Cbox_Civilite.Value)
End Sub
Private Sub TBox_Nom_Change() 'S?lection NOM
'?criture en majuscule
TBox_Nom.Value = UCase(TBox_Nom.Value)
End Sub
Private Sub TBox_Prenom_Change() 'S?lection Pr?nom
'?criture en nom propre
TBox_Prenom.Value = Application.Proper(TBox_Prenom.Value)
End Sub
Private Sub TBox_DNais_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'S?lection N? le
'Uniquement des chiffres
If InStr("0123456789", Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End Sub
Private Sub TBox_DNais_Change() 'S?lection N? le
'Mettre un Slash de s?paration style 01/01/2018
Slash = Len(TBox_DNais)
If Slash = 2 Or Slash = 5 Then TBox_DNais = TBox_DNais & "/"
End Sub
Private Sub TBox_Adresse_Change() 'S?lection adresse
'?criture en nom propre
TBox_Adresse.Value = Application.Proper(TBox_Adresse.Value)
End Sub
Private Sub TBox_CP_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'S?lection code postale
'Uniquement des chiffres
If InStr("0123456789", Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End Sub
Private Sub TBox_Ville_Change() 'S?lection Ville
'?criture en majuscule
TBox_Ville.Value = UCase(TBox_Ville.Value)
End Sub
Private Sub TBox_TelFixe_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'S?lection t?l?phone fixe
'Uniquement des chiffres
If InStr("0123456789", Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End Sub
Private Sub TBox_TelFixe_Change() 'Mettre un espace tout les 2 chiffres
Espace = TBox_TelFixe.Text
Select Case Len(Espace)
Case 2, 5, 8, 11
Espace = Espace & " "
End Select
TBox_TelFixe.Text = Espace
End Sub
Private Sub TBox_TelPort_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'S?lection t?l?phone portable
'Uniquement des chiffres
If InStr("0123456789", Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End Sub
Private Sub TBox_TelPort_Change() 'Mettre un espace tout les 2 chiffres
Espace = TBox_TelPort.Text
Select Case Len(Espace)
Case 2, 5, 8, 11
Espace = Espace & " "
End Select
TBox_TelPort.Text = Espace
End Sub
Private Sub TBox_Mail_Change() 'S?lection mail
'?criture en minuscule
TBox_Mail.Value = LCase(TBox_Mail.Value)
End Sub
Private Sub UserForm_Initialize()
'Liste Civilit? sans doublon
With Cbox_Civilite
.Value = ""
For Each Civ In Worksheets("Clients").Range("A3:A500")
Me.Cbox_Civilite = Civ
If Me.Cbox_Civilite.ListIndex = -1 Then Me.Cbox_Civilite.AddItem Civ
Next Civ
End With
'Max 5 chiffres dans code postale
With TBox_CP
.MaxLength = 5
.Value = ""
End With
'Max 10 chiffres dans t?l?phone fixe + 4 espaces
With TBox_TelFixe
.MaxLength = 14
.Value = ""
End With
'Max 10 chiffres dans t?l?phone portable + 4 espaces
With TBox_TelPort
.MaxLength = 14
.Value = ""
End With
'Max 8 chiffres dans N? le + 2 Slashs
With TBox_DNais
.MaxLength = 10
.Value = ""
End With
End Sub
Private Sub Btn_Validation_Click() 'Appui sur le bouton Ajouter
With Feuil1 'Dans la feuille Clients
'?crire les donn?es dans la derni?re ligne non vide ? partir de la colonne A
Dl = Range("A" & Rows.Count).End(xlUp).Row + 1
.Cells(Dl, 1).Value = Me.Cbox_Civilite.Value
.Cells(Dl, 2).Value = Me.TBox_Nom.Value
.Cells(Dl, 3).Value = Me.TBox_Prenom.Value
.Cells(Dl, 4).Value = Me.TBox_DNais.Value
.Cells(Dl, 5).Value = Me.TBox_Adresse.Value
.Cells(Dl, 6).Value = Me.TBox_CP.Value
.Cells(Dl, 7).Value = Me.TBox_Ville.Value
.Cells(Dl, 8).Value = Me.TBox_TelFixe.Value
.Cells(Dl, 9).Value = Me.TBox_TelPort.Value
.Cells(Dl, 10).Value = Me.TBox_Mail.Value
End With
End Sub
Le fichier: Exercice N° 3 Partie Ajouter VEssai.xlsm (1,2 Mo)
@+ et bon dimanche à toutes et tous.