Bonjour,
Afin de tester que l'utilisateur d'un fichier a bien rempli un champ date au format jj/mm/aaaa (ou dd/mm/yyyy) et que cette date est correcte, j'ai créé une macro dont voici un extrait. Je précise que, parallèlement, une Checkbox permet de saisir automatiquement la date si c'est aujourd'hui (voir ci-dessous). (A noter aussi que vous trouverez des lignes comme ' TextBox1 = "" et ' Exit Sub qui sont des "essais" que j'ai provisoirement mis en remarque).
Seulement voilà, ça ne fonctionne pas et je dois certainement m'être "mélangé les crayons":
Merci d'avance pour votre aide.
Afin de tester que l'utilisateur d'un fichier a bien rempli un champ date au format jj/mm/aaaa (ou dd/mm/yyyy) et que cette date est correcte, j'ai créé une macro dont voici un extrait. Je précise que, parallèlement, une Checkbox permet de saisir automatiquement la date si c'est aujourd'hui (voir ci-dessous). (A noter aussi que vous trouverez des lignes comme ' TextBox1 = "" et ' Exit Sub qui sont des "essais" que j'ai provisoirement mis en remarque).
Seulement voilà, ça ne fonctionne pas et je dois certainement m'être "mélangé les crayons":
VB:
'Date aujourd'hui (case à cocher)
Private Sub CheckBox1_Click()
If CheckBox1.Value Then
TextBox1.Value = Format(Now(), "dd/mm/yyyy")
Else
TextBox1.Value = ""
TextBox1.SetFocus
End If
End Sub
VB:
'Vérification de la cohérence de date saisie au moment de la frappe - date du calcul
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Cohérence du format
If Not IsDate(TextBox1.Value) Then
MsgBox "Saisissez un format de date correct du type jj/mm/aaaa !", , "Date du Calcul - Format"
' TextBox1 = ""
TextBox1.SetFocus
Cancel = True
' Exit Sub
End If
'Cohérence du mois (si le mois est > à 12) 'Nota : La syntaxe est Mid(Texte, Départ, Nombre de caractères).
If Mid(TextBox1.Value, 4, 2) > 12 Then
MsgBox "Mois incorrect" & Chr(10) & "Saisissez un format de date correct du type jj/mm/aaaa !", , "Date du Calcul - Mois"
' TextBox1.Value = ""
TextBox1.SetFocus
Cancel = True
' Exit Sub
End If
End Sub