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 :

conversion string en date gestion du format date US/FR


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 33
    Points : 19
    Points
    19
    Par défaut conversion string en date gestion du format date US/FR
    Bonjour,

    J'ai des strings representants des dates dans le format "dd-mm-yy" que je souhaite passer en date pour ensuite les comparer.
    Mon programme fonctionne tres bien sur mon poste qui est en setting regional france mais si je veux le faire tourner sur un poste en setting US rien ne va plus!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim date 1 As String
    date 1 = "18-06-12"
    Dim test1 As Date
    Dim test2 As Date
     
    test1 = CDate(date1) 
    If Application.International(xlCountrySetting) = 1 Then
        test2 = (Format(CDate(date1), "dd-mm-yy"))
    endif
    sur un poste US test1 et test2 donne 12/6/2018!...

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Si tu mets ta variable test2 au format Date, tu auras beau l'instancier dans un format spécifique, elle sera toujours au format Date du système.

    Essais en mettant la variable test2 en type String.
    Jérôme

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Bonsoir,

    visiblement tu ne nous montre pas le bon code ... !

    d'où viennent tes dates ?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 33
    Points : 19
    Points
    19
    Par défaut
    Hello,

    Effectivement c'est un bout de code test, mes strings sont en realite les noms des onglets d'un classeur et je cherche a faire une boucle sur les onglets pour trouver l'onglet le plus recent.
    Du coup passer par une string ne resoud pas mon probleme puisque je veux comparer des dates..: calim2:

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 33
    Points : 19
    Points
    19
    Par défaut
    Ok j'ai trouve une solution a mon probleme, peu etre pas la plus propre mais elle fonctionne quelque soit mon setting local.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub test()
    Dim d As String
    Dim res As Date
    Dim test As Date
     
     
    d = "25-11-12"
    Dim i, j, k As Integer
    i = CInt(Left(d, 2)) ' jour
    k = CInt(Right(d, 2)) ' annee
    j = CInt(Mid(d, 4, 2)) ' mois
     
     
    res = DateSerial(k, j, i)
     
     
    End Sub
    A+

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

Discussions similaires

  1. Format Date EN ver format FR
    Par vg-matrix dans le forum VB.NET
    Réponses: 6
    Dernier message: 16/07/2013, 19h06
  2. [XL-2010] Conversion date+heure au format date et heure
    Par illight dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/02/2013, 16h17
  3. Réponses: 7
    Dernier message: 16/03/2009, 09h23
  4. Réponses: 4
    Dernier message: 09/02/2009, 14h53
  5. [Dates] Chiffre en format date
    Par cciocc dans le forum Langage
    Réponses: 10
    Dernier message: 23/05/2006, 12h44

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