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 date avec un donnée convertir. [XL-365]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2011
    Messages : 163
    Points : 89
    Points
    89
    Par défaut Problème de date avec un donnée convertir.
    Bonjour à tous,

    Je vous explique mon problème car pas moyen de le résoudre.
    Je compile 4 fichiers excel dans une même base excel. Ensuite une multitude de colonnes applique des formules à partir des données compilées et ensuite je stocke le tout dans une base Access.
    Mon problème est sur une colonne Date : dans 95 % des cas cette colonne est remplie par une date ou vide , mais il peut y avoir aussi du texte que j'ai besoin de garder. Quand je stock mes données sous access, comme la colonne du fichier Excel est au format Date , elle transforme les données texte en vide. Je voudrais donc convertir cette colonne date au format texte avant de l'intégrer dans Access.

    Pour ce faire j'utilise dans ma macro excel ce code pour convertir toute la colonne au format texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      '    Columns("S:S").Select
      '  Selection.TextToColumns Destination:=Range("data[[#Headers],[SR Date]]"), _
      '      DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter _
      '      :=False, Tab:=False, Semicolon:=False, Comma:=False, Space:=False, _
      '      Other:=False, FieldInfo:=Array(1, 2), TrailingMinusNumbers:=True
    Quand je le fait manuellement cela fonctionne bien et je retrouve mes données au format texte dans Access.
    Par contre quand j'intègre le code dans ma macro excel , toutes mes dates sont transformées en échangeant le jour et le mois.

    Ex : j'ai 25/12/2020

    Manuellement fonctionne bien avec l'utilisation de donnée / convertir / texte
    vba j'obtient : 12/25/2020

    Donc toutes mes dates stockées dans Access sont fausses. Quelqu'un aurait il une solution car là je sèche.

    Cdt

    Shakapouet

  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
    Citation Envoyé par shakapouet Voir le message
    comme la colonne du fichier Excel est au format Date , elle transforme les données texte en vide.
    Il faudrait que tu montres le code complet du format.
    A ma connaissance, DANS EXCEL, quand un format date est appliqué à une cellule, les données texte ne sont pas modifiées.

    A moins qu'il s'agisse d'un format personnalisé utilisant les quatre sections de format et précisant explicitement que le texte est à remplacer par du vide.
    Pour en être sûr, il faudrait connaitre le code format.
    Si c'est le cas, c'est facilement corrigible.

    Quand je le fait manuellement cela fonctionne bien et je retrouve mes données au format texte dans Access.
    Par contre quand j'intègre le code dans ma macro excel , toutes mes dates sont transformées en échangeant le jour et le mois.

    Donc toutes mes dates stockées dans Access sont fausses. Quelqu'un aurait il une solution car là je sèche.
    Pas réellement toutes. Je suis sûr que le 31 janvier sort correctement.

    Ca vient de l'anglophilie de VBA qui, contrairement à Excel, reconnait par défaut les formats anglosaxons, donc mm/jj/aaaa.

    Pour cette colonne, essaye d'utiliser xlDMYFormat comme format.
    Lire ça : https://docs.microsoft.com/fr-fr/off...columndatatype
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 405
    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 405
    Points : 16 245
    Points
    16 245
    Par défaut
    Bonjour

    Comment passes-tu les données Excel dans Access ?

    A mon avis le problème viens de là si dans Excel c'est correct

    De toute façon c'est une hérésie de mélanger dans une même colonne texte et dates : profite du passage Excel pour dédoubler la colonnes en Date et Date Comment afin d'avoir une colonne purement date et une colonne purement texte
    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é...

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2011
    Messages : 163
    Points : 89
    Points
    89
    Par défaut
    Bonjour à tous


    Finalement j'ai ajouté j'ai ajouté un caractère " ' " devant les dates pour qu'elles soient reconnus comme format texte et ensuite j'ai modifié dans Access mes requête pour prendre uniquement la partie date sans le caractère " ' "
    C'est pas forcement top mais ça fonctionne bien.

    Merci pour votre aide.

    Cdt

    Shaka

  5. #5
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 405
    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 405
    Points : 16 245
    Points
    16 245
    Par défaut
    RE

    Il avait plus simple que de toucher aux données sources... mais tu préfères ne pas répondre aux questions...
    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é...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Problème de Date avec Access
    Par k2vin dans le forum Accès aux données
    Réponses: 4
    Dernier message: 12/12/2006, 16h57
  2. Problème de date avec JAVA & Oracle
    Par bobic dans le forum JDBC
    Réponses: 2
    Dernier message: 02/11/2006, 13h21
  3. [FPDF] Problème de date avec fdpf
    Par axel-erator dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 19/05/2006, 00h05
  4. Problème de date avec un trigger PL/SQL
    Par fluec-wa dans le forum PL/SQL
    Réponses: 6
    Dernier message: 18/01/2006, 15h56
  5. Encore un probléme de date avec TADO !
    Par bNoureddine dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/02/2004, 19h22

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