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 :

Modification automatique des dates


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 17
    Points : 11
    Points
    11
    Par défaut Modification automatique des dates
    Bonjour,

    Je reviens vers vous pour un problème....

    J'extrais des données de mon ERP en format .txt que j'ouvre sous excel.
    Qd je l'ouvre manuellement les dates sont affichées de la manière normale (jj/mm/aaaa).
    Mais qd j'ouvre ce fichier avc une macro pour aller y chercher des données, certaines dates se transforment en "mm/jj/aaaa" d'autres non.
    Je pense que ça vient de la manière d'après laquelle les infos sont rentrées dans l'ERP mais ce que je voudrais c'est que les dates restent sous la meme forme qu'avec une ouverture manuelle (jj/mm/aaaa).
    J'ai bien essayé un eregistrer sous format excel ou un copier coller en valeur, rien n'y fait qd j'ouvre les fichiers manuellement c'est niquel et par macro c'est "moche.....

    Faudrait trouver un truc qui embeche la mise en forme automatique des format date ou je sais pas mais si quelqu'un pouvait m'aider , merci d'avance !!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 102
    Points : 117
    Points
    117
    Par défaut
    Bonjour

    Une piste utiliser la fonction convertir du menu donnée.
    Les dates qui se transforment en mm/jj/aaaa, sont comprises entre le 1 et 12 du mois.


    JP014

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Même pb... c'est vraiment la galère ce truc!!

  4. #4
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Pas de mystère, ça vient de la manière d’Excel d’interpréter les dates et d’un fonctionnement différent à ce niveau entre les feuilles el le vba dû au fait, entre autres, que l’éditeur VBA est en langage US.
    Donc quand Vba rencontre une date en jour inférieure ou égale à 12 en format jj/mm/aaaa (si années sur 2 digits => surprises supplémentaires), il interprète dans son format natif mm/jj/aaaa et ne t’inverse pas TA notation et prend donc les jours pour des mois et inversement. Quand tu passes au-delà du 12 en jours, il n’est pas sot, il sait qu’il ne peut y avoir plus de 12 mois…donc il interprète toujours, mais en procédant aux inversions voulues car il se dit : tient un format EU ; j’inverse !



    D’après ce que je comprends (.txt), tes dates sont en format String, vois donc en vba du côté de CDate dans l’aide et penses à typer aussi tes variables dates… en Date si ce n’est fait.


    cordialement,

    Didier

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    le pb c'est que ça me le fait dès l'ouverture du fichier donc pas le tps de traiter les cellules avec CDate ...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 102
    Points : 117
    Points
    117
    Par défaut
    Bonjour

    A tester

    L'option convertir du menu données permet de faire la conversion, en choisissant le type de date "MJA" dans l'onglet assistant 3.

    JP

  7. #7
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Sur les interprétations et les formules de dates, tu pourras trouver une centaine de pages de Tutos – FAQ sur le Forum, donc si tu veux une aide plus ciblée, il faut nous donner des billes

    - J’importe des des données xxx avec dates au format (.txt) pour toi
    - Via … du vba ou la procédure import d’Excel ?
    - …/…
    - Exemple ces (2 ou 3 dates) format d’origine / affichage obtenu se comportent correctement
    - « « « « « « « « « « « « « « « « on ce comprtement xxx inatendu.
    - Je ne traite rien en vba
    - Mes cellules / colonnes sont ( ou ne sont pas) préformatées dans ma feuilles eu format xxxx
    - J’impose tel format via vba etc….


    Pense aussi à « élargir » une colonne de date pour voir clairement l’alignement des données, si rien de formaté à la base si elles se baladent de droite à gauche, ça voudra dire des interprétations différentes que révèleront un clic droit etc…

    pS : tu peux inclure du code ou un petit snapshot dans tes messages pour la compréhension quand nécessaire...

    à bientôt,

    Didier

  8. #8
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par jp014 Voir le message
    Bonjour

    A tester

    L'option convertir du menu données permet de faire la conversion, en choisissant le type de date "MJA" dans l'onglet assistant 3.

    JP
    ça ça ne marche pas nn plus par contre j'ai trouvé ça et ça marche:

    tu peux essayer de rajouter à la fin de ton import de texte


  9. #9
    Membre à l'essai
    Inscrit en
    Novembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 17
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Ormonth Voir le message
    Bonjour,

    Sur les interprétations et les formules de dates, tu pourras trouver une centaine de pages de Tutos – FAQ sur le Forum, donc si tu veux une aide plus ciblée, il faut nous donner des billes

    - J’importe des des données xxx avec dates au format (.txt) pour toi
    - Via … du vba ou la procédure import d’Excel ?
    - …/…
    - Exemple ces (2 ou 3 dates) format d’origine / affichage obtenu se comportent correctement
    - « « « « « « « « « « « « « « « « on ce comprtement xxx inatendu.
    - Je ne traite rien en vba
    - Mes cellules / colonnes sont ( ou ne sont pas) préformatées dans ma feuilles eu format xxxx
    - J’impose tel format via vba etc….


    Pense aussi à « élargir » une colonne de date pour voir clairement l’alignement des données, si rien de formaté à la base si elles se baladent de droite à gauche, ça voudra dire des interprétations différentes que révèleront un clic droit etc…

    pS : tu peux inclure du code ou un petit snapshot dans tes messages pour la compréhension quand nécessaire...

    à bientôt,

    Didier
    J'avoue que j'ai pas été très clair sur ma question mais en tous cas merci c'est bon j'ai trouvé comment faire, je l'ai mis un peu plus haut... endore merci pour tes réponses complètes. Bonne journée

  10. #10
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour Renaud7,

    Le but du forum n'est pas vraiment "les solutions individuelles", c'est de faire avancer le Schmilblick de façon générale, il est donc bon de remercier les contributeurs comme tu l'as fait , mais aussi de dire:

    "j'ai trouvé... il suffisait de faire comme ceci", ce qui permet d'enrichir la base de connaissance générale et de faire référence à ce fil pour amener la réponse à une autre question, voir la trouver direct via la recherche de mots clefs

    à te lire,

    cordialement,

    Didier

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/02/2011, 16h31
  2. [XL-2003] Tri automatique des dates
    Par pointp dans le forum Excel
    Réponses: 9
    Dernier message: 22/03/2010, 10h04
  3. Réponses: 5
    Dernier message: 30/09/2009, 18h40
  4. Script de modification automatique des port
    Par dinozo13 dans le forum Websphere
    Réponses: 0
    Dernier message: 21/07/2008, 12h20
  5. [windev11]modification automatique des données
    Par nath-0-0 dans le forum WinDev
    Réponses: 6
    Dernier message: 03/06/2007, 20h02

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