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 :

[VBA-EXCEL] format de date lors d'écriture dans une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 38
    Points : 35
    Points
    35
    Par défaut [VBA-EXCEL] format de date lors d'écriture dans une cellule
    Hello,

    Je m'arrache les cheveux ... je récupère des infos dans un fichier texte que je recopie ensuite dans une feuille de calcul EXCEL.

    Au début, j'ai une fonction qui me transforme une date 01/01/07 en "01 jan 2007", avec comme format défini à l'avance dans ma feuille excel "jj mmm aa" pour que ça s'affiche correctement : ça marchait pour décembre 2006, janvier 2007 mais pas pour février !!!! Là ça m'affiche royalement dans ma cellule "01 févr 2006" mais sans prendre ça comme une date, et si je positionne mon curseur sur la cellule et que je fait entrée, là il me le reconnaît comme une date

    Je me dit tant pis, je passe la valeur dans ma cellule avec le format :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(ligne, ColDate).Value = Format(recodeDate2(TableauLigne(4)), "dd/mm/yyyy")
    Et là, merveille de technologie, recodeDate2 = 01/02/2007 et la valeur affichée dans ma cellule est : 02/01/2007

    Donc franchement je sèche, si quelqu'un à une piste pour résoudre ces problèmes de date, je suis preneur.

    Usti

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    Format() renvoie un texte, ça n'invite pas Excel à considérer ça comme une date.

    Regarde du côté de .NumberFormat (qui est une méthode de Range)
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Je ne me souviens plus qui m'a appris ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(ligne, ColDate).Value = Format(cdbl(recodeDate2(TableauLigne(4))), "dd/mm/yyyy")
    ... mais si les éléments récupérés "ressemblent" à des dates, ça fonctionne très bien

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 38
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par ouskel'n'or
    Je ne me souviens plus qui m'a appris ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(ligne, ColDate).Value = Format(cdbl(recodeDate2(TableauLigne(4))), "dd/mm/yyyy")
    ... mais si les éléments récupérés "ressemblent" à des dates, ça fonctionne très bien
    C'était presque ça ... et effectivement je n'avait pas réussi à trouver comment spécifier le format de la valeur que je passait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(ligne, ColDate).Value = Format(CDate(recodeDate2(TableauLigne(4))), "mm/dd/yyyy")
    C'est tout à fait logique : mon environnement XP est paramétré en "français", donc en date jj/mm/aa, les cellules de ma feuille excel ont comme format "jj mmm aa", la valeur que je veux mettre dans ma cellule est "01/02/07", et il faut préciser comme format ... "mm/dd/yyyy"

    Enfin, comme ça ça marche, merci à vous

    Sinon cafeine, ta solution ne m'a pas avancé, c'est déjà le format qu'il y avait dans ma cellule , mais merci quand même d'avoir essayé de m'aider

    Usti

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

Discussions similaires

  1. Format de date de données prises dans une base
    Par paladice dans le forum ASP.NET
    Réponses: 9
    Dernier message: 07/05/2013, 13h54
  2. [XL-2007] VBA Excel : Comment executer un script .aspx inclus dans une page Web
    Par BrunoZZZ dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/08/2011, 12h09
  3. {VBA Excel} Colorier des cases selon la valeur dans une autre
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/06/2008, 09h56
  4. Forcé un type d'écriture dans une cellule
    Par Didpa dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/12/2006, 11h05
  5. [VBA-E]modifier les attributs d'un commentaire dans une cellule
    Par Olivier vb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/03/2004, 10h26

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