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 :

Changement format date selon ouverture manuel ou macro


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Changement format date selon ouverture manuel ou macro
    Bonsoir à tous,

    Je suis nouveau sur ce forum et j'ai besoin d'aide.

    Mon problème est un problème de format de date.

    Je possède un fichier excel dans lequel se trouvent des dates en format dd/mm/yyyy . Lorsque j'ouvre le fichier normalement (c'est à dire, fichier-ouvrir fichier) il n'y a aucun problème. Par exemple "01/05/2009"

    CEPENDANT si je l'ouvre avec l'aide de VBA (d'une macro), il s'ouvre MAIS avec les jours et les mois d'inversés dans les dates.
    C'est à dire que mon 01/05/2009 devient 05/01/2009.

    Je travaille dans un environnement Windows tout en Anglais. Et mon Excel est en Anglais.

    J'ai essayé pleins de choses qui n'ont aboutis à rien.

    Si quelqu'un a une idée, elle est la bienvenue.
    Peut-être faut-il une option VBA pour l'ouverture du fichier ?

    Merci à l'avance.

    PS : j'utilise excel 2003

  2. #2
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Points : 177
    Points
    177
    Par défaut
    Salut

    Envoie ton code pour qu'on puisse voir ce qui génère ces changements de format date.

    A+
    Mélanie

  3. #3
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Août 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2007
    Messages : 117
    Points : 133
    Points
    133
    Par défaut Format
    Bonjour,

    essaye d'utiliser "Format" dans ton code pour convertir ta date au format français :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    MaDate = Format (MaDate , "mm/dd/yyyy") ' inverse mois avec jour
    mets ton code pour que le forum puisse mieux t'aider !

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup de vos réponses,

    Je sais qu´il serait beaucoup mieux d´envoyer les codes avec les fichiers, mais ce sont des fichiers confidentiels générés par le logiciel SAS.

    J´ai bien essayé de reproduire un fichier excel avec la meme erreur mais je n´y parviens pas.

    Le changement de format pour chaque date avec l´instruction "Format" n´est pas une solution car uniquement le format change. C´est à dire que le jour et le mois restent toujours les memes.

    Seul un changement de langage dans le panneau de configuration résoud mon problème.. (mais en génére d´autres, ce qui ne m´arrange pas.)

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour à tous.

    J'ai exactement le même problème (enfin vu ce que j'ai compris). Il est un peu tard pour aider Jguenot mais bon, ça pourra toujours servir à quelqu'un dans le même cas :

    J'ai donc un fichier d'extraction (qui était en format CSV) que j'ai reconverti en .xls
    Ce fichier contient des dates. A l'ouverture manuelle, les dates sont sous la forme jj/mm/aaaa (le 09/01/2017, 9 janvier donc). Le format des cellules de dates est format date.
    Quand ma macro ouvre le fichier (Set wbSource = Workbooks.Open(filename:=CheminFichierSource, ReadOnly:=True)), je la bloque et regarde les données :
    La plupart des dates non inversable (à partir du jour 13) sont sous la forme jj/mm/aaaa mais en format standard, mais les dates "inversable" (comme le 9 janvier) sortent inversées et en format date... (F*** la logique )

    Bon, apparemment, sauver son fichier en xlsx au lieu de xls résout le problème. Une autre piste de résolution se trouve ici :
    https://support.microsoft.com/fr-fr/...ng-a-vba-macro

    Je tente ça et je vous en dis des nouvelles.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Apparemment ça fonctionne .

    Donc pour ce genre de problème il faut ajouter "local:=True" dans les arguments de l'instruction Open à l'ouverture du fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open(filename:=CheminFichierSource, ReadOnly:=True, local:=True)

Discussions similaires

  1. Changement format date dans une table access
    Par benPSA dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 15/01/2010, 15h48
  2. Erreur date à l'ouverture par la macro
    Par will-1981 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/04/2008, 16h33
  3. Format Date selon localisation.
    Par calagan99 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 04/07/2007, 16h09
  4. Changement format date excel
    Par romano54600 dans le forum Excel
    Réponses: 2
    Dernier message: 20/04/2007, 15h20
  5. [SQL 2005] Changement format date
    Par mohamed dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/12/2006, 12h55

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