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 format date francais/anglais


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Juin 2014
    Messages : 21
    Points : 19
    Points
    19
    Par défaut Vba format date francais/anglais
    bonjour le forum

    dans une maccro, je souhaite inscrire la date du jour dans une cellule dans le but de la comparer à une autre date inscrite dans une autre cellule

    le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range("zz1").value = format(Date, "dd/mm/yyyy")
    voici mon problème :
    si la date du jour = 11/08/2012 => zz1 = 08/11/2012
    si la date du jour = 15/08/2012 => zz1 = 15/08/2012

    si le jour est superieur à 12, la date est francaise, si elle inferieur à 12 il me l'a met en anglais

    je souhaiterai toujours l'avoir en français, comment puis je faire.
    j'ai pensé à une condition sur la valeur du jour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if day(date)>12
    range("zz1").value = format(Date, "mm/dd/yyyy")
    else:
    range("zz1").value = format(Date, "dd/mm/yyyy")
    end if
    mais je ne suis pas sur que ca marche à chaque fois et je pense qu'il y a un moyen plus simple

    a+

    Yann

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 014
    Points : 29 083
    Points
    29 083
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je te conseille la lecture de ce tutoriel Comprendre et gérer les dates sous Excel et en VBA

  3. #3
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Essai de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range("zz1").Value = DateValue(Format(Date, "dd/mm/yyyy"))
    Hervé.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Juin 2014
    Messages : 21
    Points : 19
    Points
    19
    Par défaut
    merci pour votre lien, mais cela m'a plus embrouillé qu'autre chose.

    de plus je n'ai pas l'impreesion qui aborde la notion de date du jour dans ce tuto.

  5. #5
    Invité
    Invité(e)

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 014
    Points : 29 083
    Points
    29 083
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'avais omis de donner les deux liens mais Hervé t'a donné la solution
    Le deuxième lien Les Fonctions Date/Heure et tout particulièrement le chapitre Les fonctions de conversion et d'information

  7. #7
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Juin 2014
    Messages : 21
    Points : 19
    Points
    19
    Par défaut
    super la solution de Hervé fonctionne.

    Merci pour tout les liens des tuto.

    problème résolu, en esperant que ca puisse servir à d'autre

    a+ le forum et encore merci pour votre aide

    Yann

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 333
    Points
    24 333
    Par défaut
    Bonjour à tous,

    Une règle importante concernant les dates et Excel:
    Ne jamais formater une date pour l'écrire dans une cellule.

    Ceci devrait fonctionner à tous les coups quelle que soit la localisation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("zz1").Value = Date
    Pour Excel et VBA, une date est un nombre.
    Si VBA écrit une String représentant une date dans une cellule, Excel va tenter de l'interpréter mais en se basant sur la localisation US.
    Ce n'est que si la conversion n'aboutit pas (mois > 12 en notation US) qu'Excel va essayer de changer de localisation.

    Pour vous en convaincre, essayez ce code dans le module d'une feuille vierge:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub TestDate()
      [A1].NumberFormat = "dd/mm/yyyy"
      [A1].Value = 41866
    End Sub
    Dans ce code, on dit à Excel comment il doit présenter le nombre qu'on lui donne.

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

Discussions similaires

  1. Souci de date code VBA Excel 2010 (Francais/Anglais)
    Par mennix dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/04/2015, 19h44
  2. [XL-2010] Format date francais - anglais
    Par naoufal.elbekri dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/02/2015, 20h04
  3. format date en anglais
    Par userX3CRXI dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 05/11/2010, 18h38
  4. format de date, francais anglais
    Par mohcultiv dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 19/02/2008, 21h15
  5. Format Date Francais/anglais
    Par piero15 dans le forum Général Python
    Réponses: 3
    Dernier message: 26/04/2007, 13h07

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