format date change à l'importation d'une source txt.

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 !

shmider

XLDnaute Occasionnel
Bonjour le forum,
Bonjour les XlDiens 🙂

Je souhaiterai importer un fichier à priori (.txt) dans un fichier excel. ceci se fait à merveille sauf que le format des dates change de façon irréguliere et aliatoire que j'arrive pas à maitriser!

Je suis tombé sur cette macros et qui "à priori" peut résoudre ce problème. mais je n'arrive pas à l'adopter à mon fichier.

Code:
 Sub MFDate()
For Each X In Range("A1").CurrentRegion.Offset(1, 0).SpecialCells(xlCellTypeConstants, 2)
    X.Value = CDate(Format(Replace(X, "/", ""), "0/00/00"))
Next
End Sub

Pourriez vous s'il vous plait y jeter un petit coup d'oeil?

Note: je joint mon fichier de date à titre d'exmple. pourriez vous m'aider à adopter ce code à ce fichier? Merci beaucoup.

PS: j'ai bien parcourrue les forums et apparement ce code c'est le mieux que je trouve jusqu'à présent.


😛 @+
 

Pièces jointes

Dernière édition:
Re : format date change à l'importation d'une source txt.

Re bonjour tout le monde,

J'ai trouvé ce code

Code:
date = Format$(date,"dd/mm/yyyy")

et j'essai de l'intégrer dans mon fichier précedent. Mais j'ai une erreur de droit d'admin je crois (si je ne me trempe pas) !!

voir capture d'ecran s'il vous plait. 🙂
 

Pièces jointes

  • msg erreur de permission.jpg
    msg erreur de permission.jpg
    43.7 KB · Affichages: 87
Re : format date change à l'importation d'une source txt.

effectivement je viens de tester ceci en etant admin d un pc et ça fonctionne (sauf qu il y a une erreur). donc je dois éviter cette methode car les utilisateur de mon fichier ne sont pas en admin.

pourriez vous me dire si vous avez eu le temps de tester mes fichiers?

merci beaucoup.
 
Re : format date change à l'importation d'une source txt.

Bonjour Shmider.

Oui mais ton fichier .txt n'est pas un vrai txt.

Le mieux est d'utilser l'enregistreur de macro et d'ouvrir ton fichier .txt avec l'importation de fichier texte.

Il y a souvent des problèmes de date sur l'importation de fichier texte avec les dates type ex: 01/07 qu'il peut interprèter en 07/01.

On peut essayer de mettre ,local:=true à la fin du code VBA d'importation de fichier texte.
 
Re : format date change à l'importation d'une source txt.

Bonjour

J'ai remis l'extension txt.
Dans la fenêtre d'import, il faut préciser le format des colonnes dates pour indiquer le format JMA ou autre selon le cas afin qu'Excel ne décide pas lui-même.
 
Re : format date change à l'importation d'une source txt.

Bonjour à vous,

Oui c'est ce que j'ai bien l'intention de faire, forcer un format de date. mais je n'y parviens pas.

Merci.


Bonjour

J'ai remis l'extension txt.
Dans la fenêtre d'import, il faut préciser le format des colonnes dates pour indiquer le format JMA ou autre selon le cas afin qu'Excel ne décide pas lui-même.
 
Re : format date change à l'importation d'une source txt.

Bonjour

Tu n'y arrives pas en manuel ou pour le faire en VBA ?
En manuel :
A l'étape 3 de l'import, il faut sélectionner les colonnes dans la partie basse (clic sur le titre) puis au dessus cocher date et préciser le format dans la déroulante.
Le bouton Avancé permet d'affiner si nécessaire.

Sinon reprécise ...
 
Re : format date change à l'importation d'une source txt.

Ici on parle toujours du VBA en fait.

Je ne vois pas à quoi tu fais référence quand tu dis "etape 3" ?!

L'idéal c'est d'imposer un format à excel or si on est pas admin, on peut pas le faire.

Donc, je t'invite s'il te plait à voir mes fichier joints (cf. 1er post).

Ce que je cherche à faire c'est de pouvoir adopter le premier code publié dans le premier post.

Rappel:
Code:
Sub MFDate()
For Each X In Range("A1").CurrentRegion.Offset(1, 0).SpecialCells(xlCellTypeConstants, 2)
    X.Value = CDate(Format(Replace(X, "/", ""), "0/00/00"))
Next
End Sub

Merci pour ton aide.
Salut.
 
Re : format date change à l'importation d'une source txt.

Re

Je parlais de l'étape 3 de l'import manuel.

Une fois importé, il n'est pas certain que le VBA te remette les dates correctement.

C'est donc l'import qu'il faut faire en VBA : sur ton exemple
Code:
    Workbooks.OpenText Filename:="D:\docs\tempo\source.txt", Origin _
        :=xlWindows, StartRow:=16, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
        Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 4), Array(7, 4), Array(8, 1))
où Array(6, 4), Array(7,4) signifie que les 6ème et 7ème colonnes contiennent des dates au format JMA (jour, mois, année)
 
Re : format date change à l'importation d'une source txt.

re à toi,

chez moi tout ce fais en macros ! je n'ai pas de manip manuelles!

actuellement je cherche à adopter le code
Sub MFDate()
For Each X In Range("A1").CurrentRegion.Offset(1, 0).SpecialCells(xlCellTypeConstants, 2)
X.Value = CDate(Format(Replace(X, "/", ""), "0/00/00"))
Next

à mon fichier. Peux tu m'aider la dessus. vois pièce jointe.
End Sub
 

Pièces jointes

Re : format date change à l'importation d'une source txt.

Re

J'ai déjà eu à traiter ce genre de PB.

Je t'ai donné le VBA qui permet d'importer correctement.

Essayer de retrouver la bonne date après les avoir importées de travers n'est pas la bonne méthode.

Mais si tu préfères néanmoins cette voie, je laisse le soin à d'autres de poursuivre le fil.
 
Re : format date change à l'importation d'une source txt.

re bonjour à toi,

Lorsque j'ai copier et coller cette macro dans le VBE du fichier destinataire elle ne marchait pas! et ce que tu l'as adaptée à ce ficheir? ou il faut que je le fasse?

Merci à toi.


Re

J'ai déjà eu à traiter ce genre de PB.

Je t'ai donné le VBA qui permet d'importer correctement.

Essayer de retrouver la bonne date après les avoir importées de travers n'est pas la bonne méthode.

Mais si tu préfères néanmoins cette voie, je laisse le soin à d'autres de poursuivre le fil.
 
Re : format date change à l'importation d'une source txt.

Re

En fait les dates bonnes et les dates fausses ne sont pas celles que tu indiques mais le contraire. L'écart variance dans la troisième colonne le confirme.

Ton fichier texte ne doit pas avoir une extension xls mais txt.

Le code :
Code:
Sub importer_QuandClic()
Dim ouvrir As String
Dim destinataire As Workbook

Set destinataire = ThisWorkbook
ouvrir = Application.GetOpenFilename("Text Files (*.txt), *.txt", Title:="import de données", MultiSelect:=False)
If VarType(chercher) = vbBoolean Then MsgBox "Insersion annulée !": Exit Sub

Workbooks.OpenText Filename:=ouvrir, Origin _
        :=xlWindows, StartRow:=16, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
        Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 4), Array(7, 4), Array(8, 1))

ActiveWorkbook.Sheets(1).UsedRange.Rows.Copy Destination:=destinataire.Sheets(2).Range("A17")

ActiveWorkbook.Close

End Sub
 
Re : format date change à l'importation d'une source txt.

Bonjour,

Effectivement c'est ce que j'ai fini par mettre en place hier comme code exactement la meme idée 😉 sauf que pour l'ouverture j'ai laissé l'extension .xls et ça marche nikel.

En tous cas merci et mille merci pour tes efforts.

@+
 
- 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

C
Réponses
1
Affichages
6 K
Jean-Marie
J
Retour