VBA - Pb avec un champs date

safety147

XLDnaute Nouveau
Bonjour à tous,

J'ai un problème pour récupérer des informations d'un champs dont les données sont dans le format suivant : "jj/mm/aaa hh:mm:ss" : attention il y a deux espaces entre la date et l'heure.

PS : Le fichier Excel source contenant ce format de date provient d'une extraction d'une application tiers sans possibilité de modifier le format des données extraitent : dommage cela aurait résolu mon problème.

Ma problématique :
- Impossibilité de modifier le format du champs, que ce soit par VBA ou par Excel.
- Si je passe la cellule en format "Standard" ou "Texte" j'obtiens un chiffre ressemblant à ceci : 39476,6363310185 pour le "29/01/2008 15:16:19" par exemple

Concrêtement, j'ai besoin de récupérer uniquement la date et là miracle cela fonctionne en faisant la manipulation avec le code suivant :

Dim c As Range, d As String
For Each c In Range([AI1], [AI65536].End(xlUp))
c = Replace(c, " ", "-")
Next c


Puis

Range("AJ2").Select
ActiveCell.FormulaR1C1 = "=LEFT(RC[-1],10)"
Selection.AutoFill Destination:=Range("AJ2:AJ" & NbLignes), Type:=xlFillDefault


Fin du miracle :
Toutes les dates se retrouvent à gauche dans le champs et je ne peux exploiter ces données comme un format date.

Mes tests :
- extraction en fichier texte puis réinjection des données dans excel : tjrs le même pb.
- suppression des espaces entre la date et l'heure : pas mieux.
- modification du format de cellule, copie des valeurs : encore pas mieux
- bref rien à faire je ne trouve pas.

Qu'en pensez-vous ?

ci-joint le fichier excel avec la colonne concernée.
Regarde la pièce jointe pb-date.xlsx

En vous remerciant par avance de votre aide.

Franck
 

prozqck

XLDnaute Nouveau
Re : VBA - Pb avec un champs date

J'ai résolu ton problème de la manière suivante :

Tu sélectionne ta colonne, données puis convertir. Dans la fenetre qui apparait tu laisse en délimité puis suivant, la tu coche espace puis suivant.

Tu sélectionne maintenant ta colonne de date, puis tu coche format date JMA, tu sélectionnes maintenant la colonne des heures et tu coche colonne non distribuée puis tu clique sur terminé.

Pour finir tu sélectionne ta colonne et tu fais format de cellule ==> date JJ/MM/AAAA, cela fonctionne chez moi :)
 

safety147

XLDnaute Nouveau
Re : VBA - Pb avec un champs date

Bonjour Banzai64,

Tout d'abord un grand merci pour la rapidité de réponse et désolé de ne pas avoir répondu plus tôt.
Je vois que je ne suis pas le seul à me coucher tard...

Effectivement cela fonctionne nickel.

Pour Wilfried_42,
Effectivement, j'ai commencé par utiliser cette formule qui malheureusement n'a rien donné.
Et c'est vraiment à partir de là que j'ai commencé ma prise de tête.
Mais merci pour cette réponse.

Pour Prozqck,
Effectivement, cela fonctionne mais malheureusement j'ai besoin d'automatiser cette tâche.
Merci quand même pour la réponse et le temps passé.

A tous, encore un grand merci et à bientôt.

Franck
 

Discussions similaires

Réponses
3
Affichages
353

Statistiques des forums

Discussions
312 345
Messages
2 087 494
Membres
103 561
dernier inscrit
DG35