Bonjour,
Je cherche à saisir dans une cellule excel une date sans les barres
obliques.
La saisie doit donc être du genre 170305 et faire ressortir 17/03/05.
Je sais qu'en formatant la cellule du genre ##"/"##"/"## on y arrive, mais
lors d'un tri, Excel se base sur le premier nombre (le jour) au lieu de
considérer cette saisie comme une date.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Evita
Bonjour Christophe, Une idée du genre
Avec 170305 en A1 ÚTEVAL(GAUCHE(A1;2) & "/" & STXT(A1;3;2) & "/" & DROITE(A1;2)) cela te renvoi un numéro de série type 38428 qui te permet de travailler dessus en tant que date puis formatage de la cellule en jj/mm/aa
En espérant que cela t'aide, -- au plaisir :-)) Evita@
Bonjour Christophe,
Une idée du genre
Avec 170305 en A1
ÚTEVAL(GAUCHE(A1;2) & "/" & STXT(A1;3;2) & "/" & DROITE(A1;2))
cela te renvoi un numéro de série type 38428 qui te permet de travailler
dessus en tant que date
puis formatage de la cellule en jj/mm/aa
En espérant que cela t'aide,
--
au plaisir :-))
Evita@
Avec 170305 en A1 ÚTEVAL(GAUCHE(A1;2) & "/" & STXT(A1;3;2) & "/" & DROITE(A1;2)) cela te renvoi un numéro de série type 38428 qui te permet de travailler dessus en tant que date puis formatage de la cellule en jj/mm/aa
En espérant que cela t'aide, -- au plaisir :-)) Evita@
MichDenis
Bonjour Christophe,
Tu pourrais utiliser quelque chose comme ceci dans le module feuille où l'action se déroule :
'------------------------------- Private Sub Worksheet_Change(ByVal Target As Range)
'Exemple pour colonne G Dim D as Variant If Target.Column = 7 Then If IsNumeric(Target) Then d = Left(Target, 2) & "/" & Mid(Target, 3, 2) & "/" & Right(Target, 2) If Len(d) = 8 Then If IsDate(d) Then Target.NumberFormat = "DD/MM/YY" Application.EnableEvents = False Target.Value = CDate(d) Application.EnableEvents = True End If Else MsgBox "Entrée incomplète" End If End If End If
End Sub '-------------------------------
Salutations!
"christophe loyez" <cloyez"nospam"@hotmail.com> a écrit dans le message de news: 4239d0f3$0$27993$ Bonjour, Je cherche à saisir dans une cellule excel une date sans les barres obliques.
La saisie doit donc être du genre 170305 et faire ressortir 17/03/05.
Je sais qu'en formatant la cellule du genre ##"/"##"/"## on y arrive, mais lors d'un tri, Excel se base sur le premier nombre (le jour) au lieu de considérer cette saisie comme une date.
Quelqu'un aurait-il une solution ?
Merci d'avance au Groupe.
Christophe.
Bonjour Christophe,
Tu pourrais utiliser quelque chose comme ceci dans le module feuille où l'action se déroule :
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'Exemple pour colonne G
Dim D as Variant
If Target.Column = 7 Then
If IsNumeric(Target) Then
d = Left(Target, 2) & "/" & Mid(Target, 3, 2) & "/" & Right(Target, 2)
If Len(d) = 8 Then
If IsDate(d) Then
Target.NumberFormat = "DD/MM/YY"
Application.EnableEvents = False
Target.Value = CDate(d)
Application.EnableEvents = True
End If
Else
MsgBox "Entrée incomplète"
End If
End If
End If
End Sub
'-------------------------------
Salutations!
"christophe loyez" <cloyez"nospam"@hotmail.com> a écrit dans le message de news:
4239d0f3$0$27993$626a14ce@news.free.fr...
Bonjour,
Je cherche à saisir dans une cellule excel une date sans les barres
obliques.
La saisie doit donc être du genre 170305 et faire ressortir 17/03/05.
Je sais qu'en formatant la cellule du genre ##"/"##"/"## on y arrive, mais
lors d'un tri, Excel se base sur le premier nombre (le jour) au lieu de
considérer cette saisie comme une date.
Tu pourrais utiliser quelque chose comme ceci dans le module feuille où l'action se déroule :
'------------------------------- Private Sub Worksheet_Change(ByVal Target As Range)
'Exemple pour colonne G Dim D as Variant If Target.Column = 7 Then If IsNumeric(Target) Then d = Left(Target, 2) & "/" & Mid(Target, 3, 2) & "/" & Right(Target, 2) If Len(d) = 8 Then If IsDate(d) Then Target.NumberFormat = "DD/MM/YY" Application.EnableEvents = False Target.Value = CDate(d) Application.EnableEvents = True End If Else MsgBox "Entrée incomplète" End If End If End If
End Sub '-------------------------------
Salutations!
"christophe loyez" <cloyez"nospam"@hotmail.com> a écrit dans le message de news: 4239d0f3$0$27993$ Bonjour, Je cherche à saisir dans une cellule excel une date sans les barres obliques.
La saisie doit donc être du genre 170305 et faire ressortir 17/03/05.
Je sais qu'en formatant la cellule du genre ##"/"##"/"## on y arrive, mais lors d'un tri, Excel se base sur le premier nombre (le jour) au lieu de considérer cette saisie comme une date.
Quelqu'un aurait-il une solution ?
Merci d'avance au Groupe.
Christophe.
Evita
Re,
Une autre "piste", en VBA pour une procédure évenementielle qui transforme automatiquement , par A.V.
http://www.excelabo.net/xl/dates.php#sansslash
au plaisir :-)) Evita@
Re,
Une autre "piste", en VBA pour une procédure évenementielle qui transforme
automatiquement , par A.V.