Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Que faire pour forcer un encodage de date correct ?

  • Initiateur de la discussion Initiateur de la discussion gody1954
  • 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 !

G

gody1954

Guest
Bonjour,

Je dois demander à l'utilisateur d'encoder la date de sa demande, voilà le code que j'utilise.

Dim Date_demande As Date

Selection.NumberFormat = "m/d/yyyy"
Date_demande = InputBox("Date de la demande (format jj/mm/aa)")
Range("D4") = Date_demande


Si l'utilisateur encode bien la date, pas de soucis, mais si il tappe enter sans avoir encodé l'InputBox, => bug......

Bonne journée
 
Re : Que faire pour forcer un encodage de date correct ?

bonjour

Dim Date_demande As Date
Selection.NumberFormat = "m/d/yyyy"
do while not isdate(Date_demande)
Date_demande = InputBox("Date de la demande (format jj/mm/aa)")
loop
Range("D4") = Date_demande
 
Re : Que faire pour forcer un encodage de date correct ?

bonjour

Dim Date_demande As Date
Selection.NumberFormat = "m/d/yyyy"
do while not isdate(Date_demande)
Date_demande = InputBox("Date de la demande (format jj/mm/aa)")
loop
Range("D4") = Date_demande

Merci pour ta réponse, je viens de tester, jai un soucis, il n'ouvre pas l'InputBox, il m'affiche directement 0 Janv. 00 et passe à l'instruction suivante.

J'ai fais le tour de la société, pas moyen de trouver quelqu'un qui était né en l'an 00, donc même pas moyen de l'accusé 😛
 
Re : Que faire pour forcer un encodage de date correct ?

Bonjour gody1954, mutzik,

Code:
Dim Date_demande [COLOR="Red"]As String[/COLOR]
Range("D4").NumberFormat = "m/d/yyyy"
Do While Not IsDate(Date_demande)
Date_demande = InputBox("Date de la demande (format jj/mm/aa)")
If Date_demande = "" Then Exit Sub 'si l'on veut sortir sans rien faire...
Loop
Range("D4") = Date_demande

A+
 
Re : Que faire pour forcer un encodage de date correct ?


Merci la procédure fonctionne
un seul petit soucis, quand j'encode la date, par uniformité dans la société nous utilisons le format JJ/MM/AA, mais si j'encode dans ce sens là, l'affichage le donne MM/JJ/AA. J'ai modifié
Range("D4").NumberFormat = "m/d/yyyy"
en
Range("D4").NumberFormat = "d/m/yyyy"
mais rien ne change ???
 
Re : Que faire pour forcer un encodage de date correct ?

Bonjour à tous

Pour les dates, j'utilise souvent Cdate. A voir si cela peut aider.

ex:
Code:
DateTX = TBDate & "/" & TXMois & "/" & TXAn
Cells(derl, 1) = CDate(DateTX)
 
Re : Que faire pour forcer un encodage de date correct ?

Re, salut Michel, CHALET53,

Comme le dit Michel, il faut utiliser CDate :

Code:
Dim Date_demande As String
Range("D4").NumberFormat = "d/m/yyyy"
Do While Not IsDate(Date_demande)
Date_demande = InputBox("Date de la demande (format jj/mm/aa)")
If Date_demande = "" Then Exit Sub 'si l'on veut sortir sans rien faire...
Loop
Range("D4") = [COLOR="Red"]CDate[/COLOR](Date_demande)

Noter que si l'on entre 02/15/10 ou 15/02/10 dans la boîte, on obtiendra 15/2/2010 dans les 2 cas, Excel est une bête d'intelligence...

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.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…