IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème de format date (import différents fichiers)


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mai 2018
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Mai 2018
    Messages : 55
    Points : 29
    Points
    29
    Par défaut Problème de format date (import différents fichiers)
    Bonjour,

    J'utilise un code pour importer mes fichiers dans un seul fichier. J'ai cependant un problème régulier sur les dates.

    > en effet mes dates dans la même colonne (du meme fichier importé) ne se mette pas toujours au même format et inverse les mois avec les jours

    Ainsi je peux me retrouver avec un date dd/mm/yyyy et mm/dd/yyyy. soit le 12/06/2019 devient 06/12/2019.

    Comment y remédier?

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Sub consolide_EXPORT()
    'importer des BDD dans un seul fichier
    'ajouter la Sub sup()
    'cela importe les données dans des feuilles du classeur
     
      ChDir ActiveWorkbook.Path
      Set classeurMaitre = ActiveWorkbook
      'sup
      nf = Dir("*missions*")
      Do While nf <> ""
          Workbooks.Open Filename:=nf
          Nom_onglet = Right(nf, 24)
          Sheets(1).Copy After:=classeurMaitre.Sheets(classeurMaitre.Sheets.Count)
          classeurMaitre.Sheets(classeurMaitre.Sheets.Count).Name = Nom_onglet
          Workbooks(nf).Close False
          nf = Dir     ' classeur suivant
      Loop
      Sheets(1).Select
    End Sub
     
    Sub sup()
    'importer des BDD dans un seul fichier
    'ajouter la Sub consolide classeur()
    'cela importe les données dans des feuilles du classeur
     
      Application.DisplayAlerts = False
      If Sheets.Count > 1 Then
        Sheets("Feuil1").Move Before:=Sheets(1)
        Sheets(2).Select
        For i = 2 To Sheets.Count
          ActiveSheet.Delete
        Next i
      End If
    End Sub

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Je ne vois pas trop comment les données pourraient être altérées avec une copie d'onglet...
    Il n'y a pas un détail que tu aurais oublié ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mai 2018
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Mai 2018
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    je viens de vérifier mes fichiers importés sont au format:
    *.txt est cela le problème

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Ne les ouvre pas avec Open mais avec OpenText qui te permet de mieux contrôler la nature des données importées, en particulier les dates.
    https://docs.microsoft.com/fr-FR/off...books.opentext
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mai 2018
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Mai 2018
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    Cela ne fonctionne pas:

    j'ai des cellules qui se mettent automatiquement en format standard = celle-ci ok la date correspond
    Par contre les autres se mettent en format date celle ci elles m'inverses mois et jour

    Dans mon fichier de base elles sont toutes au format date

    SI je fais un copier coller de la feuille en valeurs + je change le format de la colonne en date pas de problème.

    Mais ce n'est pas ce que je veux.

  6. #6
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 419
    Points : 16 262
    Points
    16 262
    Par défaut
    Bonjour à tous

    Si, cela fonctionne si on précise correctement XlColumnDataType pour les colonnes dates...

    Probablement MJA dans ton cas...

    XlColumnDataType, énumération
    Indique la manière dont une colonne doit être analysée.
    Informations sur la version
    Version ajoutée : Excel 2007

    Nom Valeur Description
    xlDMYFormat 4 Format de date JMA.
    xlDYMFormat 7 Format de date JAM.
    xlEMDFormat 10 Format de date AMJ.
    xlGeneralFormat 1 Général.
    xlMDYFormat 3 Format de date MJA.
    xlMYDFormat 6 Format de date MAJ.
    xlSkipColumn 9 La colonne n'est pas analysée.
    xlTextFormat 2 Texte.
    xlYDMFormat 8 Format de date AJM.
    xlYMDFormat 5 Format de date AMD
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mai 2018
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Mai 2018
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    Merci, je ne vois pas ou préciser que je veux les données en xlDMYFormat 4 et comment ecrire la commande

  8. #8
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Fdc_53 Voir le message
    Cela ne fonctionne pas:
    Paramétrer correctement un OpenText, c'est sûr que ça prend plus de 10 min...

    Dans mon fichier de base elles sont toutes au format date
    Si ton fichier source est un txt, je ne pense pas que tes format puissent être au format date.
    Par définition, tout ce qui est dans un txt, c'est du texte.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mai 2018
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Mai 2018
    Messages : 55
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    Opentext, dépasse mon niveau de VBA :-(, pas réussi.

    Concernant mon fichier de base. Il s'agit d'un export d'un logiciel. le format est excel enregistré en : Texte(séparateur:tabulation)(*.txt).
    Effectivement c'est lorsque je les importent dans mon fichier qu'elles ne se mettent pas toutes au meme format.

  10. #10
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Fdc_53 Voir le message
    Opentext, dépasse mon niveau de VBA :-(, pas réussi.
    Utilise l'enregistreur de macro.
    Si tu fais la manipulation correctement en utilisant les bons paramètres, il te donnera 90% du code.

    Concernant mon fichier de base. Il s'agit d'un export d'un logiciel. le format est excel enregistré en : Texte(séparateur:tabulation)(*.txt).
    Une fois exporté en "txt", le fichier n'a plus rien à voir avec Excel, c'est du texte pur qu'on peut ouvrir avec le Notepad.
    Il ne contient aucun format, aucune formule et aucune mise en page. Il ne contient que des valeurs et éventuellement des séparateurs.

    Effectivement c'est lorsque je les importent dans mon fichier qu'elles ne se mettent pas toutes au meme format.
    Non, c'est à l'enregistrement en "txt".
    Ouvre ton fichier txt avec le Notepad et tu comprendras.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

Discussions similaires

  1. [XL-2013] Problème format date Excel avec format date SQL Server fichier connecté
    Par berceker united dans le forum Excel
    Réponses: 0
    Dernier message: 05/12/2017, 09h58
  2. [SSAS][2K5] Problème de format date
    Par geof dans le forum SSAS
    Réponses: 6
    Dernier message: 11/04/2008, 18h52
  3. Problème de format d'import de fichier texte
    Par jsteffe dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 13/11/2007, 12h40
  4. Réponses: 2
    Dernier message: 04/06/2007, 15h39
  5. [VBA] Création d'un format d'import de fichier texte
    Par Julien Dufour dans le forum Access
    Réponses: 6
    Dernier message: 12/05/2006, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo