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 :

Cauchemar sur les dates !


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Par défaut Cauchemar sur les dates !
    Bonjour,

    Je suis (encore) confronté à un problème de date.

    J'importe d'un même tableau des dates ayant la même apparence (Format français)
    et je récupère dans mon tableau à l'arrivée des dates en format américain )
    J'ai cherché dans le tuto hyper complet de Didier Gonard
    https://didier-gonard.developpez.com...-excel-et-vba/
    Mais même en appliquant la formule magique du *24/24, je n'y arrive pas au contraire, j'ai la date qui s'affiche avec l'heure, alors que ma formule format indique dd/mm/yyyy.
    avant que je ne me lance dans un reformatage un peu fastidieux de mon tableau de destination, auriez vous une suggestion de conversion.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range("F" & Ma_Ligne + 1) = Format(Workbooks("Classeur.xlsm").Worksheets("Feuille").Range("B" & Lig_FNC) * 24 / 24, "dd/mm/yyyy")
    Nom : 2021-06-14 08_46_48-Start.jpg
Affichages : 127
Taille : 164,4 Ko
    Merci
    Denis

  2. #2
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 909
    Par défaut
    Bonjour,

    D'un point de vue personnel, laisse tomber les trucs du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(1,1) = format(madate,"dd/mm/yyyy")
    ça ne sert à "rien" et ça peut induire en erreur.

    Ce que je te suggère plutôt, c'est la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cells(1,1).value2 = madate
    cells(1,1).numberformat = "dd/mm/yyyy")
    En fait, tu dois envoyer sur ta cellule, la valeur numérique de ta date et non du texte (donc, ne pas utiliser format(x, "x")).
    .value2 permet de mieux gérer les dates et les monnaies.
    .numberformat gère l'aspect visuel à l'écran.

    Bonus : si tu veux être certain de ta valeur numérique, utilises "clng(madate)".

    Cordialement,

  3. #3
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 579
    Par défaut
    Bonjour,
    D'un point de vue personnel utilises
    cells(1,1) = format(madate,"yyyy-mm-dd")

  4. #4
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Par défaut
    D'abors merci pour les réponses,

    Gado, merci pour l'explication et la mise en forme qui fonctionne.

    La tolérance du VB génère des soucis pour ceux qui ne sont pas assez prudents dnas l'utilisation des fonctions.

    Merci
    Denis

  5. #5
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 909
    Par défaut
    En vrai, c'est plus une question d'habitude, effectivement.

    Je l'ai prise depuis que j'ai dû gérer des fichiers avec 4-5 formats de dates différents...

    Cordialement,

Discussions similaires

  1. Equivalent à TRUNC ou ROUND d'Oracle sur les Dates ?
    Par swirtel dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/05/2005, 09h45
  2. operation sur les dates
    Par elendil dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/04/2005, 12h14
  3. [C#] Calcul sur les dates avec des DateTimePicker
    Par alizee971 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 02/04/2005, 17h14
  4. MS Access et TQuery (probleme sur les dates)
    Par Djob dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/06/2004, 14h57
  5. opérations sur les dates
    Par coucoucmoi dans le forum Débuter
    Réponses: 2
    Dernier message: 12/08/2003, 11h45

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