Format date

Nanou42

XLDnaute Nouveau
Bonjour à tous,

J'ai un format date :
3/13/2017 11:19:56 AM

que j'aimerais transformer en :
03/13/2017 11:19:56 même en allant sur format >personnalisé
jj/mm/aaaa hh:mm
je n'y arrive pas

Merci pour votre aide
 

eddy1975

XLDnaute Occasionnel
Re,
Dans ton exemple il s'agit visiblement d'une date issue d'un autre fichier (ou autre) et dans ce cas le format est appliqué par défaut ou bien le contenu de ta cellule est saisi manuellement et il faut alors appliqué le format souhaité.
Regarde dans le fichier joint. Le format jj/mm/aaaa hh:mm:ss est appliqué en B1.
@+
 

Pièces jointes

  • format date.xlsx
    10.2 KB · Affichages: 25

Lone-wolf

XLDnaute Barbatruc
Bonsoir à tous :)

Un essai par VBA

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
For i = 1 To 18
Cells(i, 1) = Format(Cells(i, 1), "dd/mm/yyyy hh:mm")
Next i
Cancel = True
End Sub
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonsoir.
Cette fonction perso permet de récupérer la date et l'heure correctement :
VB:
Function DateHeuFr(ByVal DateHeuUSA As String) As Date
Dim P As Long, TD() As String
P = InStr(DateHeuUSA, " "): TD = Split(Left$(DateHeuUSA, P - 1), "/")
DateHeuFr = DateSerial(TD(2), TD(0), TD(1)) + TimeValue(Mid$(DateHeuUSA, P + 1))
End Function
En B1, à propager sur 18 lignes :
Code:
=DateHeuFr($A1)
 

Nanou42

XLDnaute Nouveau
Merci à tous, cette fonction "fonctionne"

:)

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
For i = 1 To 100000
Cells(i, 1) = Format(Cells(i, 1), "dd/mm/yyyy hh:mm:ss")
Next i
Cancel = True
End Sub

J'ai mis 100000 pour avoir le max mais si je veux que ça aille jusqu'à la dernière ligne.
Y a t'il une modif.

En tous cas merci
 

Dranreb

XLDnaute Barbatruc
Pas bon cette solution.
Outre qu'elle laisse la donnée sous forme de texte, elle ne marche que s'il n'y a pas de confusion possible entre le mois et le jour.
Testez voir ça :
VB:
Sub test()
MsgBox AvecFormat("3/13/2017 11:59:00 PM") & vbLf _
     & AvecFormat("3/12/2017 11:59:00 PM")
End Sub
Function AvecFormat(ByVal S As String) As String
AvecFormat = """" & S & """ —› """ & Format(S, "dd/mm/yyyy hh:mm") & """."
End Function
 

Discussions similaires