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

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:

Nanou42

XLDnaute Nouveau
Salut à vous, j'ai mis le code VBA, mais je pense que je l'ai pas bien mis.
j'ai même créer un module, où j'ai placé le code. mais lorsque je vais sur la macro rien ne marche.
là ça vient de moi,

cdt
 

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…