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 :

Macro et Date au format anglosaxon [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Juillet 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2014
    Messages : 46
    Par défaut Macro et Date au format anglosaxon
    Bonjour,
    J'ai un petit pépin,
    j'utilise un code qui me demande une date via inputbox, et qui la renvoi dans une cellule. Le probleme c'est que soudainement, il retranscrit la date en inversant le mois et les jours. Ex si je tape 11/09/2015 il écrit dans la cellule 9 Novembre 2015 !

    Voici le code que j'utilise:

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Demande_Confirmation = MsgBox("Livraison pour le:" & Chr(10) & Chr(10) & _
        Worksheets("Aide a la commande").Range("C3").Value & "?" & Chr(10) & Chr(10) & Chr(10) & Chr(10) _
        , vbQuestion + vbYesNo + vbDefaultButton1, "Confirmer ?")
     
    ' si la date est OK continuer 
        If (Demande_Confirmation) = vbYes Then GoTo Suite
     
     
    ' si la date est incorrecte entrer une nouvelle date
    saisie_date:
     
        Date_Liv = InputBox(Chr(13) & Chr(10) & Chr(13) & Chr(10) & "      Saisissez la date de livraison", _
                "Date de livraison")
     
     
            If Not IsDate(Date_Liv) Then
                MsgBox "Format de date saisie incorrect !"
                GoTo saisie_date
                End If
     
     
            If CDate(Date_Liv) < Date Then
                MsgBox "La date doit être supérieure à la date d'aujourd'hui !"
                GoTo saisie_date
                End If
     
     
            If Date_Liv <> Format(Date_Liv, "dd/mm/yyyy") And Date_Liv <> Format(Date_Liv, "dddd dd/mm") And Date_Liv <> Format(Date_Liv, "dd/mm/yy") _
                Then
                MsgBox "le format doit être jj/mm/aaaa !"
                GoTo saisie_date
                End If
     
            Range("C3").Select
            Range("C3") = Date_Liv
            Range("C3") = Format(ActiveCell.Value, "dddd dd mmm")
    Une idée?

  2. #2
    Invité
    Invité(e)
    Par défaut
    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
    18
    19
     
    do
        Date_Liv = InputBox(vbcrlf & vbcrlf & "      Saisissez la date de livraison",  "Date de livraison")
        if Date_Liv <>"" then
          If CDate(format(Date_Liv,"yyyy-mm-dd")) >= Date Then exit do
       end if
       MsgBox "La date doit être supérieure à la date d'aujourd'hui !"
    loop
     
     
           ' If Date_Liv <> Format(Date_Liv, "dd/mm/yyyy") And Date_Liv <> Format(Date_Liv, "dddd dd/mm") And Date_Liv <> Format(Date_Liv, "dd/mm/yy") _
            '    Then
           '     MsgBox "le format doit être jj/mm/aaaa !"
           '     GoTo saisie_date
          '      End If
     
           ' Range("C3").Select
            Range("C3") = Format(Date_Liv,"yyyy-mm-dd")
           ' Range("C3") = Format(ActiveCell.Value, "dddd dd mmm")
    Dernière modification par Invité ; 11/09/2015 à 10h18.

  3. #3
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Juillet 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2014
    Messages : 46
    Par défaut
    Merci pour ta réponse rapide.

    Mais ca ne fonctionne pas. Le seul cas ou la date est dans le bon ordre, c'est quand les jours sont supérieurs à 12 (ex 13/09/2015)

  4. #4
    Invité
    Invité(e)
    Par défaut
    fais ce teste la pour accéder à la fenêtre d’exécution raccourci clavier [Ctrl] + [G]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Test()
    Date_Liv="1/2/15"
    debug.print Format(Date_Liv,"yyyy-mm-dd")
    debug.print cdate(Format(Date_Liv,"yyyy-mm-dd"))
    end sub

  5. #5
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Juillet 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Alimentation

    Informations forums :
    Inscription : Juillet 2014
    Messages : 46
    Par défaut
    J'ai pas bien compris ce que je doit faire de ce code? Je le mets où?

  6. #6
    Invité
    Invité(e)
    Par défaut
    tu colle ce code dans un module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Test()
    Date_Liv="1/2/15"
    debug.print Format(Date_Liv,"yyyy-mm-dd")
    debug.print cdate(Format(Date_Liv,"yyyy-mm-dd"))
    end sub
    tu l’exécute touche [F5]

    et tu regarde le résultat dans la fenêtre d’exécution touche clavier [Ctrl] + [g]

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

Discussions similaires

  1. [AC-2000] macro pour changer le format d'une date
    Par zandeparis dans le forum VBA Access
    Réponses: 3
    Dernier message: 04/11/2009, 12h13
  2. Réponses: 1
    Dernier message: 07/06/2005, 14h00
  3. Tri dans une DBGrid sur un champ date au format jj/mm
    Par Jeankiki dans le forum Bases de données
    Réponses: 10
    Dernier message: 31/10/2004, 12h32
  4. [Date] Comparer des dates au format mySQL "date
    Par Marc_P dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 25/10/2004, 15h15
  5. Convertir une date au format excel en datetime SQL server
    Par ALLB dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 20/07/2004, 11h28

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