Bonjour,
Voici mon souci. Dans un useform , j'ai une case a remplir dans laquelle l'utilisateur doit renseigner une date.
Cette date est vérifiée. Si le champ n'est pas renseigné, un label s'affiche en rouge et n"enregistre rien. Si la date est erronée, un autre label s'affiche en rouge et rien ne s'enregistre. Si la date est bonne alors on enregistre et on ferme le useform.
Sauf que si j'indique par exemple 12/02/2012 pour 12 Février il va m'enregistrer 02/12/2012 pour 2 Décembre
et si j'indique une date complétement débile du style : 02/24/2012 pour le 2eme jour du 24eme mois il va m'indiquer 24 Février eu lieu de m'envoyer le 2eme label
Alors que si j'indique 14/12/2012 , il m'a enregistrer correctement la date du 14 décembre.
En faite, le code intervertie le jour et le mois un peu comme il veut. et c'est la que je coince.
Voici mon code. Si quelqu'un pouvais de donner un petit coup de pouce ça serait cool.
Merci d'avance.
PS : je suis obliger d'indiquer DateE comme As String plutôt que As Date pour éviter une erreur de compatibilité de type lorsque je contrôle si le champ est vide.
Private Sub CommandButton1_Click()
Dim DateE As String
' *******************************************************
' Récupération des données écrites du masque de saisie
' *******************************************************
' Date 'enregistrement
DateE = TextBox8.Value
' **********************************************
' Contrôle des entrées saisis
' **********************************************
Label_erreur1.Visible = False 'Label invisible
Label_erreur2.Visible = False 'Label invisible
If DateE = "" Then
Label_erreur2.Visible = True 'Label visible
Me.Width = 688 'Largeur de l'UserForm
TextBox8.BackColor = 230
Else
If IsDate(DateE) = False Then
Label_erreur1.Visible = True 'Label visible
Me.Width = 688 'Largeur de l'UserForm
TextBox8.BackColor = 230
Else
' **********************************************
' Ecriture des données sur l'onglet LD
' **********************************************
' Date enregistrement
ActiveSheet.Cells(Ligne, 3).Select
Selection.Value = Format(DateE, "dd/mm/yyyy")
ActiveWorkbook.Save
Unload Me