Problème format date en lien avec TextBox
Bonjour à toutes et tous,
Dans mon tableau "Cpta_Test" la colonne Date est au format personnalisé jj/mm/aa.
Dans mon formulaire, j'ai un TextBox nommé "TextBox_Date".
Le code associé est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| Private Sub TextBox_Date_AfterUpdate() ' AfterUpdate = Valide la saisie dès qu'elle est terminée
'La cellule de destination Date (Exxxxx de la feuille active) obtient la valeur de la zone de texte nommée "TextBox_Date"
' Pour écrire à la colonne nommée "Date" et à la ligne qui suit la dernière du tableau nommé "Cpta_Test"
Dim t As ListObject ' t = Le tableau concerné
Dim cn As Integer ' cn = La colonne concernée
Set t = Range("Cpta_Test").ListObject ' Cpta_Test = tableau pour écriture
With t
cn = .ListColumns("Date").Index ' Nom de la colonne concernée
.ListRows.Add ' Ajoute une nouvelle ligne à la fin du tableau
With .DataBodyRange
.Cells(.Rows.Count, cn).Value = TextBox_Date.Value ' Identification de la cellule concernée et insertion valeur saisie
End With
End With
Set t = Nothing
' **** Evite de saisir le / dans le TextBox_Date *************
Dim Valeur As Byte
TextBox_Date.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
Valeur = Len(TextBox_Date)
If Valeur = 2 Or Valeur = 5 Then TextBox_Date = TextBox_Date & "/"
' ***************************************************************************
End Sub |
Ce code marche bien et lors de la validation du formulaire, la date saisie (par exemple 01/08/2023 ou 01/08/23) est inscrite au bon endroit (cellule de destination).
Le formatage de la cellule de destination est toujours au format personnalisé jj/mm/aa.
Mais l'affichage reste sur 10 caractères soit 01/08/2023
Cette valeur n'est pas reconnue comme une date.
Si je mets 8 caractères ligne 19, ma saisie devient 01/08/23, l'affichage est bien sur 8 caractères soit 01/08/23.
Mais j'ai le petit triangle vert en haut à gauche de la cellule qui apparait pour me signaler une erreur : "Date du texte avec une année à 2 chiffres".
Pour corriger, il m'est proposé entre autre "Convertir XX en 20XX"
Comment puis sortir de cette situation ?
En d'autre termes, comment dire que la date saisie en texte est une date.
Merci pour votre aide,
Philippe