Bonjour,
Je fais face à un problème concernant le format d'une date lors d'une saisie dans un textbox.
Je m'explique... quand je saisis une date type 12/04/1972 dans mon textbox, cela affiche dans mon tableur 04/12/1972. Vous vous doutez bien que c'est problématique.
Alors je sais que VBA est "paramétré" au format US mais je n'arrive pas à trouver une parade... J'ai beau utiliser CDate ou DateSerial mais je n'y arrive pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub txtDateNaissance_Change() Dim Valeur As Byte txtDateNaissance.MaxLength = 10 'nb caractères maxi autorisés dans le textbox Valeur = Len(txtDateNaissance) If Valeur = 2 Or Valeur = 5 Then txtDateNaissance = txtDateNaissance & "/" End Sub
Mais on est bien d'accord qu'avec ce code on inverse pas la saisie. J'ai essayé ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub txtDateNaissance_Initialize() txtDateNaissance = CDate(txtDateNaissance.Value) End Sub
Mais rien ne se passe...
Voici la suite du code qui me permet d'ajouter un personnel avec la date saisie :
En vous remerciant par avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Private Sub btnAjout_Click() If txtNom.Value = "" Then Else Dim Ligne As Integer If MsgBox("Confirmez-vous l'ajout des données?", vbYesNo + vbQuestion, "Ajout de personnel") = vbYes Then MsgBox "Nouveau personnel ajouté", vbOKOnly + vbInformation, "CONFIRMATION" Worksheets("Source").Select Ligne = Sheets("Source").Range("A456541").End(xlUp).Row + 1 Cells(Ligne, 1) = txtNom.Value Cells(Ligne, 2) = txtPrénom.Value Cells(Ligne, 3) = txtDateNaissance.Value Cells(Ligne, 4) = txtLieuNaissance.Value Cells(Ligne, 5) = txtSécuritéSociale.Value Cells(Ligne, 6) = txtEmbauche.Value Cells(Ligne, 7) = cboContrat.Value Cells(Ligne, 8) = cboService.Value Cells(Ligne, 9) = cboFonction.Value Cells(Ligne, 10) = cboCatégorie.Value Cells(Ligne, 11) = txtPorteur.Value Cells(Ligne, 12) = cboSygid.Value Cells(Ligne, 13) = cboFormationRadioprotection.Value Cells(Ligne, 14) = cboEtat.Value Cells(Ligne, 15) = txtVisiteMédicale.Value Else End If![]()
Partager