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 :

Copie de date mais pas du format


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 22
    Points : 10
    Points
    10
    Par défaut Copie de date mais pas du format
    Bonjour,

    J'ai une macro qui recopie la date du jour écrite dans une TextBox d'un UserForm au format jj/mm/aaaa dans une cellule d'une feuille. Mon problème est que lorsqu'elle est reportée, j'obtiens dans la cellule en question mm/jj/aaaa au lieu de jj/mm/aaaa (alors que la date est bien écrite dans la TextBox). J'ai essayé de personnaliser le type de donnée dans la cellule, j'ai vérifié que la date du jour est bonne mais ça ne résoud pas le problème.

    Quelqu'un aurait une piste?

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Bonjour,

    Le VBA travaille toujours en anglais, donc le format est MM/JJ/AAAA, il suffit juste de la convertir en VBA avec la commande format(date à convertir, "DD/MM/YYYY").

    Cdlt.

  3. #3
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Bonjour,

    ou encore via la fonction VBA DateSerial entre autres …
    Voir les nombreux exemples dans les discussion du bon forum sans oublier la ni les tutoriels !


    _________________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 22
    Points : 10
    Points
    10
    Par défaut
    Merci pour vos réponses zoom61 et Marc-L (et désolé pour l'erreur de forum, je le saurai pour la prochaine fois ).

    Seulement je ne comprends toujours pas pourquoi la date est au bon format dans ma TextBox (format français jj/mm/aaaa) alors que je la renseigne automatiquement avec la fonction Date. Ne devrait-il pas afficher la date dans ma TextBox au format anglosaxon?

  5. #5
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Tu as également un tuto détaillé sur la problématique des dates

    http://didier-gonard.developpez.com/...-excel-et-vba/

    A+

  6. #6
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Aal'k Voir le message
    Seulement je ne comprends toujours pas pourquoi la date est au bon format dans ma TextBox (format français jj/mm/aaaa) alors que je la renseigne automatiquement avec la fonction Date. Ne devrait-il pas afficher la date dans ma TextBox au format anglosaxon?
    Dans une TextBox, comme son nom l'indique, tu ne peux mettre que du texte. Même si le contenu ressemble fortement à une date, ça reste du texte.
    Si tu utilises ce contenu sans précautions, VB l'interprète un peu comme il le sent. Or, comme il a déjà été dit, il a une nette préférence pour les modèles anglophones d'outre-atlantique (contrairement à Excel qui s'est relativement bien acclimaté à notre héxagone). Donc, si le texte ressemble à une date et qu'on lui demande ensuite de l'utiliser en tant que date, il fera au plus logique pour lui : le format mm/jj/aaaa.
    Bien sûr, si ce qu'il pense être le mois dépasse 12, il comprendra qu'il y a une mouche dans le potage et rectifiera le tir pour se rabattre, en choix alternatif, sur un format jj/mm/aaaa, ce qui peut générer un comportement assez chaotique (même s'il suit une certaine logique).

    Donc, dans tous les cas, il vaut mieux prendre des précautions et contrôler au plus près la transformation du texte en date. VBA est bourré de fonctions (de texte et de date) qui permettent ça.

  7. #7
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,

    une des solutions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim laDate As Date
    laDate = TextBox1
    MsgBox laDate 'à changer par le résultat voulu, ex. Range("A1")=laDate

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 22
    Points : 10
    Points
    10
    Par défaut
    Au final, je m'en sors avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Format(LaDateAChanger, "mm/dd/yyyy")
    Merci à tous pour votre aide!

    @+

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

Discussions similaires

  1. Problème de date dans requête de màj imbriquée
    Par VirginieGE dans le forum Langage SQL
    Réponses: 11
    Dernier message: 20/07/2004, 16h34
  2. problème de date
    Par baboune dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 10/06/2004, 11h52
  3. Problème de date dans MONTHS_BETWEEN
    Par ghostlord79 dans le forum Oracle
    Réponses: 10
    Dernier message: 07/04/2004, 12h21
  4. Problème conversion date
    Par mat.M dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/03/2004, 16h05
  5. Encore un probléme de date avec TADO !
    Par bNoureddine dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/02/2004, 19h22

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