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 :

Format des dates variant


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 92
    Par défaut Format des dates variant
    Bonjour,

    Voilà, j'ai créé un petite macro qui est censé en début d'instruction demander une date à l'utilisateur. Il la rentre tout simplement grâce à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jour = InputBox("Veuillez renseigner la date pour laquelle vous voulez générer le mail de données (ex: 25/04/2009)", "Choix de la date")
    Plus loin, je me sers de cette date pour faire un tri dans un grand classeur de données et récupérer ainsi toutes les entrées liées à cette date.

    Sauf que si cette macro fonctionne sur mon pc, elle ne fonctionne pas sur tous les PCs des utilisateurs/trices. En effet, je pense que certains ont un environnement configuré en anglais ou que sais-je et du coup parfois ça ne fonctionne pas quand je filtre sur la date, avec une erreur quand le mois dépasse 12 bien entendu.

    J'aimerais donc en amont du traitement faire une petite vérification du choix d'environnement local et d'inverser mois et jour si c'est nécessaire.

    Comment puis-je faire ?

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Bonjour,

    Un code que j'utilise pour vérifier la langue d'excel:
    la totalité des codes de langues sont dispo sur le site de microsoft

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub langue()
    Dim feuille As String
    ' Suivant la langue d'excel les nouvelles feuilles ont des noms différent, on test donc la langue pour adapter le code
    Select Case Application.LanguageSettings.LanguageID(msoLanguageIDUI)
        Case 2060, 1036 'français ou belge
            feuille = "Feuil"
        Case 1033, 2057 ' anglais USA ou UK
            feuille = "Sheet"
        Case Else
            MsgBox "Erreur: Langue non reconnue" & vbNewLine & "Fin de la macro"
            Exit Sub
    End Select
     
    End Sub

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 92
    Par défaut
    Super, merci, je pense que c'est ce qu'il me fallait. Je vais tester sur plusieurs PCs.

    Merci !

  4. #4
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour.

    Tu leur suggères un format de date local : 25/04/2009

    Suggère-leur plutôt le format de date international : 2009-04-25

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jour = InputBox("Veuillez renseigner la date pour laquelle vous voulez générer le mail de données (ex: 2009-04-25)", "Choix de la date")

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    À noter que la langue n'influe pas sur le format de la date.
    Dans mon cas, en français canadien, ma date est différente de celle de la France et/ou Belgique...
    De même la date anglaise canadienne est différente de celle américaine...
    Des heures de plaisir...

    L'utilisation d'un contrôle Date & Time Picker ou MonthView pourrait être pratique.
    Seul hic... il se peut que les versions de ces contrôles soient différents d'un poste à l'autre... encore beaucoup de plaisir

    Sinon, comme le dit Docmarti, force (demande) un format aaaa-mm-jj

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 92
    Par défaut
    Je n'ai pas encore pu tester tous les postes avec la première solution, mais pour le moment ça a l'air d'aller.

    En effet, je pense que si ça ne va pas, je vais carrément créer un formulaire simple avec plusieurs cases bien différenciées pour le jour, le mois et l'année, ça évitera toute ambiguïté.

Discussions similaires

  1. Format des dates pour acces à une BD MS Access..
    Par hagler dans le forum Bases de données
    Réponses: 10
    Dernier message: 03/10/2005, 18h16
  2. [Debutant] Format des dates ?
    Par Invité dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/09/2005, 14h55
  3. [VBA] Pb de format des dates dans un état
    Par linda15975 dans le forum IHM
    Réponses: 45
    Dernier message: 21/06/2005, 14h49
  4. Format des dates
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2005, 11h03
  5. [C#] Format des dates pour une ComboBox...
    Par frechy dans le forum Windows Forms
    Réponses: 5
    Dernier message: 07/01/2005, 17h08

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