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 :

[VB]Format de date avec excell


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par défaut [VB]Format de date avec excell
    Salut,
    Jessaie vainement d'envoyer des dates dans un tableau excell... Les dates dont le jours est plus grand que 12 focntionne sans problème, par contre, toutes les dates dont le jour est compris entre 1 et 12 bascule en format américain... Comment ça se fait??? Que puis-je y faire???

  2. #2
    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
    Par défaut
    Peux tu nous montrer ton code ?

    A tout'

    Un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cells(1, 1).Value = Format(CDate(MaDate), "dd/mm/yyyy")  '=> ce qui revient à 
    Cells(1, 1).Value = Format(CDate(38925), "dd/mm/yyyy")

  3. #3
    Membre éclairé Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par défaut
    Voici le morceau qui envoie les dates... Je présume qu'il est inutile que j'ajoute la fonction qui va lire dans mon fichier et qui split la ligne... Quand j'utilise une msgbox pour afficher la date avant de l'envoyer, elle est au bon format... Ensuite, après injection dans excel, elle passe au format anglais...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For cmpt = LBound(tabSplit) To UBound(tabSplit)
                If tabSplit(cmpt) Like "??/??/*" Then
                    tabSplit(cmpt) = Format(tabSplit(cmpt), "dd/mm/yyyy")
                End If
                objexcel.Range(Chr(65 + cmpt) & dernierligne).formula = tabSplit(cmpt)
            Next cmpt
            dernierligne = dernierligne + 1

  4. #4
    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
    Par défaut
    Regarde ma correction, suffit que tu dises cdate(....

    A+

  5. #5
    Membre éclairé Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par défaut
    Le CDate ne change rien... Dans le code vb, la date est bonne... Avec msgbox, je peux l'afficher... C'est quand elle est injectée dans excel que ce "merveilleux" soft prend la liberté de modifier le format de certaine date... Pourquoi echange-t-il les jours et les mois lorsque je jour est inférieur ou égal à 12???

  6. #6
    Membre éclairé Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par défaut
    Bon, jai pas trouvé de solution censée mais avec certains éditeurs de soft, faut parfois éviter de se poser trop de question... En utilisant le format de date dd/mmm/aaaa, on obtient les 3 premières lettres du nom du mois et là, l'envois se fait correctement...
    Merci pour le coup de main...

  7. #7
    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
    Par défaut
    Ok, j'ai vu ton message mais, à toutes fins utiles, je te donne tout ce que j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    MaDate = Format(CDate("12/5/2005"), "mm yyyy")
    Année = Format(CDate(MaDate), "yyyy")
    Mois = Format(CDate(MaDate), "mm")
    Jour = Format(CDate(MaDate), "dd")
    MaDate = DateSerial(Annee, Mois, Jour)
    MsgBox Format(DateSerial(Annee, Mois, Jour), "dd/mm/yyyy")
    MsgBox Format(MaDate, "dd/mm/yyyy")
    Juste pour dire que j'ai rencontré le problème

    A+

  8. #8
    Membre éclairé Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par défaut
    Merci...

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

Discussions similaires

  1. Coordonner format des Dates avec base Access
    Par wanou44 dans le forum ASP
    Réponses: 1
    Dernier message: 09/10/2007, 12h08
  2. Réponses: 23
    Dernier message: 26/09/2007, 12h35
  3. Formater une date avec 23:59:59
    Par Caro dans le forum Firebird
    Réponses: 4
    Dernier message: 29/08/2007, 13h06
  4. Format des date avec webviewer
    Par zambizi dans le forum BIRT
    Réponses: 2
    Dernier message: 30/06/2007, 17h01
  5. [VBA-E]Pb de format de date d'EXCEL
    Par tangjuncn dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/04/2007, 12h34

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