convertire date heure US au format francais Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
p
philippe87
Membre fidèle
Membre fidèle
Messages : 157
Inscrit le : 28 octobre 2012
Version d'Excel : 2007

Message par philippe87 » 26 août 2014, 15:01

bonjour,
j'ai chercher sur le net , mais je séche sur le probléme suivant:
j'exporte un rapport sous un ft "excel" dans la colonne p j'ai une date au format : mois jour année heure minute que je souhaite passer au format, jour mois année heure minute en colonne K

j'ai essayé d'écrire le code suivant mais il ne fonctionne pas vue que sur septembre il n'a pas inversé le jour et le mois.

merci de votre aide par avance. si joint une partie du fichier pour test

philippe
Sub Macro3()

Dim ligne As Date
ligne = 1

Do While Cells(ligne, 1).Value = "Rtte" Or Cells(ligne, 1).Value = "Ft"

Cells(ligne, 11).Value = Format(Cells(ligne, 16).Value, "mm/dd/yyyy hh:mm")

ligne = ligne + 1
Loop

End Sub
test rapport59.xlsm
(284.48 Kio) Téléchargé 21 fois
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 14'968
Appréciations reçues : 465
Inscrit le : 27 août 2012
Version d'Excel : O365 32 bits

Message par Jean-Eric » 26 août 2014, 16:08

Bojour,
Un exemple à tester.
Cdlt.
Sub Macro3()

Dim ligne As Date
ligne = 1

Do While Cells(ligne, 1).Value = "Rtte" Or Cells(ligne, 1).Value = "Ft"

Cells(ligne, 11).Value = _
    Format(WorksheetFunction.DateValue(Cells(ligne, 16), "mm/dd/yyyy hh:mm"))

ligne = ligne + 1
Loop

End Sub
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
f
frangy
Passionné d'Excel
Passionné d'Excel
Messages : 4'342
Inscrit le : 19 novembre 2012
Version d'Excel : 2007 FR

Message par frangy » 26 août 2014, 17:55

Bonjour,

Une autre proposition
Sub Macro3()
Dim Ligne As Integer
Dim DateA As Date
    Ligne = 1
    Do While Cells(Ligne, 1).Value = "Rtte" Or Cells(Ligne, 1).Value = "Ft"
        DateA = CDate(Cells(Ligne, 16).Value)
        If Day(DateA) <= 12 Then
            Cells(Ligne, 11).Value = DateSerial(Year(DateA), Day(DateA), Month(DateA)) + TimeValue(DateA)
        Else
            Cells(Ligne, 11).Value = CDate(Cells(Ligne, 16).Value)
        End If
        Cells(Ligne, 11).NumberFormat = "dd/mm/yyyy hh:mm"
        Ligne = Ligne + 1
    Loop
End Sub
A+
p
philippe87
Membre fidèle
Membre fidèle
Messages : 157
Inscrit le : 28 octobre 2012
Version d'Excel : 2007

Message par philippe87 » 27 août 2014, 08:45

bonjour à vous 2,
Jean Eric ton code bug, par contre Frangy ta solution fonctionne.
merci de votre aide
philippe
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message