Formats dates differents

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

bobjazz

XLDnaute Impliqué
Bonjour,
Problème avec une extraction qui me donne des formats dates différents et je n'arrive pas à les mettre dans les mêmes formats.
Mon souhait si c'est possible est de faire la différence entre les 2 colonnes, colonne B - colonne A et si j'ai la valeur "No Value" = "No Value".
Merci
Bobjazz
 

Pièces jointes

Bonjour,

Un code pour les mettre toutes au même format :
Code:
Sub Test()
   
    Dim Plage As Range
    Dim Cel As Range
   
    With Worksheets("Feuil1"): Set Plage = .Range(.Cells(2, 1), .Cells(.Rows.Count, 2).End(xlUp)): End With
   
    For Each Cel In Plage
   
        If Cel.Value <> "No Value" Then
               
            Cel.Value = CDate(Cel.Value)
            Cel.NumberFormat = "dd/mm/yyyy hh:mm:ss"
       
        End If
       
    Next Cel

End Sub
 
Bonjour bobjazz, Theze,

On aura remarqué qu'en colonne B les jours et les mois sont inversés donc utiliser :
Code:
Sub Convertir()
Dim t, i&, x$, mois$, jour$
With [A1].CurrentRegion.Resize(, 2)
    t = .Value 'matrice, plus rapide
    For i = 2 To UBound(t)
        If IsDate(t(i, 1)) Then t(i, 1) = CDate(t(i, 1))
        x = t(i, 2)
        If x Like "##/##*" Then
            mois = Left(x, 2): jour = Mid(x, 4, 2)
            x = jour & "/" & mois & Mid(x, 6)
            If IsDate(x) Then t(i, 2) = CDate(x)
        End If
    Next
    .NumberFormat = "dd/mm/yyyy hh:mm:ss"
    .Value = t 'restitution
End With
End Sub
Utilisant un tableau VBA la macro est très rapide.

Fichier joint.

A+
 

Pièces jointes

Bonsour®
Bonjour,
Problème avec une extraction qui me donne des formats dates différents et je n'arrive pas à les mettre dans les mêmes formats.
Mon souhait si c'est possible est de faire la différence entre les 2 colonnes, colonne B - colonne A et si j'ai la valeur "No Value" = "No Value".
Merci
Bobjazz
postez ici le fichier source avant tout utilisation d'Excel !!!
c'est lors de l'import qu'il faut utiliser le convertisseur de l'assistant d'importation en précisant pour chaque champ date le format lu !!!
 
Dernière édition:
Merci pour vos réponses
cela fonctionne mais je n'arrive pas à calculer le temps entre les 2 dates
Joint le vrai export comme je l’obtiens, mon souhait est de calculer le temps entre les colonnes Date Created et To take into account Dat et idem entre Date Created et TTR Effective .
Merci d'avance
Bobjazz
 

Pièces jointes

Joint le vrai export comme je l’obtiens, mon souhait est de calculer le temps entre les colonnes Date Created et To take into account Dat et idem entre Date Created et TTR Effective .
Merci d'avance
Bobjazz
d'ou vient ce fichier , quelle application le créé ???
😡 je n'attends pas un fichier Excel, mais un fichier de type .txt ou csv, .rtf ou .html !! tout sauf .xl*

🙁😕😵 "By design" Excel convertit sans avertissement toute donnée interprétable selon les options linguistiques du poste utilisateur !!!
 
Re,

Le fichier en retour avec la macro complétée :
Code:
Sub Convertir()
Dim t, i&, x$, mois$, jour$
With [A4].CurrentRegion.Columns(15).Resize(, 6)
    t = .Value 'matrice, plus rapide
    For i = 2 To UBound(t)
        If IsDate(t(i, 1)) Then t(i, 1) = CDate(t(i, 1))
        x = t(i, 2)
        If x Like "##/##*" Then
            mois = Left(x, 2): jour = Mid(x, 4, 2)
            x = jour & "/" & mois & Mid(x, 6)
            If IsDate(x) Then t(i, 2) = CDate(x): t(i, 3) = t(i, 2) - t(i, 1)
        End If
        x = t(i, 5)
        If x Like "##/##*" Then
            mois = Left(x, 2): jour = Mid(x, 4, 2)
            x = jour & "/" & mois & Mid(x, 6)
            If IsDate(x) Then t(i, 5) = CDate(x): t(i, 6) = t(i, 5) - t(i, 1)
        End If
    Next
    .NumberFormat = "dd/mm/yyyy hh:mm:ss"
    .Columns(3).NumberFormat = "[hh]:mm:ss"
    .Columns(6).NumberFormat = "[hh]:mm:ss"
    .Value = t 'restitution
End With
End Sub
Le calendrier 1904 est utilisé car il y a des heures négatives.

A+
 

Pièces jointes

Re,


Le calendrier 1904 est utilisé car il y a des heures négatives.

A+
je reste persuadé que le problème est en amont ...
les colonne P et O sont en formats de date différents JMA & MJA
le calendrier 1904 ne se justifie aucunement : la colonne O ne comporte pas les secondes...
soit que Excel à déjà interprété automatiquement des dates
soit que ce n'est pas le fichier directement issu de Oracle
soit que quelqu'un à déjà malencontreusement opéré une mise en forme avant export
 
Bonjour Modeste geedeee,

Ah bon ? Faut voir un opticien.

A+
toutes mes confuses🙄
😀 mes lunettes étaient à l'envers... il s'agissait en fait de la colonne P....
malgré le format appliqué, les données sont sous forme de "texte " !!!
upload_2018-10-8_14-28-10.png

j'attends toujours la réponse à #4, #6, #9 !!!!
 
Il te faut des lunettes à double foyer : les colonnes O P R S étaient alignées à gauche, j'ai retiré cet alignement dans ce fichier (2).
😉😎 Malgré ta vocation tardive au métier d'opticien...
je persiste "pur texte"
soit que Excel à déjà interprété automatiquement des dates
soit que ce n'est pas le fichier directement issu de Oracle
soit que quelqu'un à déjà malencontreusement opéré une mise en forme avant export

les formats affichés ne correspondent pas aux formats appliqués aux cellules !!!
upload_2018-10-8_16-55-16.png


la colonne P ne contient pas de seconde ni à l'affichage, ni en format interne (texte)
 
- 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

  • Question Question
Microsoft 365 Power Query
Réponses
2
Affichages
203
  • Résolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
170
Réponses
6
Affichages
283
  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
186
Réponses
5
Affichages
117
Réponses
8
Affichages
472
Réponses
5
Affichages
286
  • Résolu(e)
Microsoft 365 transposer
Réponses
6
Affichages
140
Retour