Masque de saisie de date dans une cellule SANS Vba.

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

Charly88

XLDnaute Occasionnel
Bonjour à tous, après plusieurs recherches, je ne trouve pas comment faire ce que j'ai écrit en titre.
Bêtement, taper à "01022009" et voir apparaître, en format date : 01/02/2009


En fait, d'après ce vieux fil :
https://www.excel-downloads.com/threads/masque-de-saisie.16056/

Il semblerait que cela soit impossible simplement... Depuis 2004, y'a-t-il eu du nouveau ?
Le "machin" appelé Excel 2007 a-t-il fait des progrés dans ce domaine par exemple ? 🙂

Merci d'avance.
 
Re : Masque de saisie de date dans une cellule SANS Vba.

Bonjour yblotiere,



Il n'a jamais été question de traiter des nombres négatifs ici 😕

On y traite seulement des séries de 7 ou 8 chiffres.

Si vous joignez votre fichier peut-être...

A+

Bonjour Job 75


J'ai trouvé ma réponse le code indiqué doit être collé dans chaque feuille ou l'on veut que ce code s'applique moi
je l'avais mis dans thisworbook et cela me renvoyé bien le message indiqué dans mon message cela parait étonnant dotant que avec certaine date cela fonctionné !!!!

maintenant cela fonctionne parfaitement

merci


yannick
 
Re : Masque de saisie de date dans une cellule SANS Vba.

Bonjour yblotiere,

Si l'on veut l'appliquer à toutes les feuilles du classeur placer ce code dans ThisWorkbook :

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'---Convertit un nombre de 7 ou 8 chiffres en date---
Dim d As Variant
Set Target = Target.Cells(1, 1) 'une seule cellule
d = Target.Value2 'l'idéal serait de connaître la frappe exacte...
If Not (d Like "#######" Or d Like "########") Then Exit Sub
d = Left(Right(d, 6), 2) & "/" & Left(Right(0 & d, 8), 2) & "/" & Right(d, 4) 'mm/dd/yyyy
d = ExecuteExcel4Macro("DATEVALUE(""" & d & """)")
If IsNumeric(d) Then
Target.NumberFormat = "dd/mm/yyyy"
Target = d
Else
Target.NumberFormat = "General"
End If
End Sub
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

Discussions similaires

Retour