Vérification de la date

  • Initiateur de la discussion Initiateur de la discussion Cougar (débutant)
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

Cougar (débutant)

Guest
Bonjour,

Un autre petit problème pour certain mais pas pour moi. :angry:

Quel code dois-je écriré pour vérifier si la date qui est entrée correspond à une date réelle, i.e. vérifier qu'il n'y est pas d'erreur lorsque j'entre une date tel que : 39-01-2005 ou 19-15-2005 et qu'un message m'avise de faire les corrections nécessaire.

En espérant ne pas trop vous ennuyer avec mes demandes.


Merci beaucoup de votre aide précieuse pour un débutant. 😱
 
Bonjour cougar, le forum

un truc du genre

Code:
Private Sub Textbox1_AfterUpdate()
If Not (IsDate(Me.Textbox1.value)) then
Msgbox 'Date invalide', vbOKOnly + vbCritical
Me.Textbox1.SetFocus
End if
End Sub

Cordialement, A+
 
Bonjour,

Il y a plusieurs méthodes, par formule et macro.

Celle que moi j'emploie : j'additionne 1 à la date.
Si le résultat est un message d'erreur (#VALEUR!), c'est que la date est fausse.

Exemple :
en A1 : 39-01-2005
en B1 : =A1+1 te renverras un message d'erreur

Si tu veux une réponse plus 'sympa', tu peux écrire la formule : =NON(ESTERREUR(A1+1))
Dans l'exemple, elle te renverras FAUX

Tu peux également mettre cette formule dans une MeFC (mise en forme conditonnelle) de la cellule, sous la forme : =ESTERREUR(A1+1), avec un format de ton choix (motif rouge ou autre).

Ândré.
 
re bonjour

Me fait référence à l'userform actif, tu es en quelle version d'excel?
Sinon le code suivant fonctionnera aussi
Code:
Private Sub Textbox1_AfterUpdate()
If Not (IsDate(Textbox1.value)) then
Msgbox 'Date invalide', vbOKOnly + vbCritical
Textbox1.SetFocus
End if
End Sub

A+
 
re bonjour,

voici mon code avec ta suggestion :

Range('d45').Select
ActiveCell.Value = InputBox('Écrivez une date SVP')
If Not (IsDate(Textbox1.Value)) Then
MsgBox 'Date invalide', vbOKOnly + vbCritical
Textbox1.SetFocus
End If

Debogage demandé ???

A+
 
Re bonjour

Le code que je t'ai donné est fait pour une textbox d'un Userform, il faut l'adapter pour une cellule de feuille.
Code:
Do
Range('D45').Value = InputBox(Prompt:='Écrivez une date SVP', Default:=Format(Range('D45').Value, 'dd-mm-yyyy'))
If Not (IsDate(Range('D45').Value)) Then
MsgBox 'Date invalide', vbOKOnly + vbCritical
Else
Range('D45').Value = DateValue(Range('D45').Value)
End If
Loop Until IsDate(Range('D45').Value)
ce code bouclera jusqu'à ce qu'une date correcte soit entrée

Cordialement, A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour