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 de date intriguant


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Par défaut Format de date intriguant
    Bonjour,

    j'utilise une macro qui me permet de récupérer une date voulue grace à un userform contenant 3 textebox (jour, mois et année) et de la recopier dans une cellule une fois saisie.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    'remplissage date
    ActiveCell.Value = TextBox1.Value & "/" & TextBox2.Value & "/" & Right(TextBox3.Value, 2)
    With Selection
        .HorizontalAlignment = xlRight
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    voila, je viens de tomber sur quelquechose d'intriguant, quand je fais des tests en rentrant 31 01 2008 cela marche parfaitement (il recopie bien 31/01/08 dans la cellule), par contre quand je rentre 01 02 2008, il recopie 02/01/08 au lieu de 01/02/08! il m'inverse le mois et le jour sans que je lui demande quoi que ce soit :s et pourtant le format des cellules est identique!
    Je ne comprends pas, merci par avance de votre aide!!!

  2. #2
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Par défaut
    Bonjour,

    Essayes Format(TADATE AVEC SLASHS, "DD/MM/YYYY")

    ou tapes Format et appuies sur F1 pour plus d'explications...

    A+

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Je dirais plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Value = CDate(TextBox1.Value & "/" & TextBox2.Value & "/" & Right(TextBox3.Value, 2))
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut
    Voila ma réponse si j'ai bien compri le problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TextBox2.MaxLength = 10
    Valeur = Len(TextBox2)
     
    If Valeur = 2 Or Valeur = 5 Then TextBox2 = TextBox2 & "/"
    If Len(TextBox2) = 10 And Not IsDate(TextBox2) Then TextBox2 = ""

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    il y a aussi, je pense, cette possibilité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mydat = TextBox1.Value & "/" & TextBox2.Value & "/" & Right(TextBox3.Value, 2)
    mydat = DateSerial(Right(mydat, 4), Mid(mydat, 4, 2), Left(mydat, 2))
    ActiveCell.Value = mydat

  6. #6
    Membre averti
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Par défaut
    J'ai pris la réponse la plus simple, celle de AlainTech! Merci infiniment, ca marche comme sur des roulettes

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

Discussions similaires

  1. Format de date
    Par royrremi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/06/2004, 17h32
  2. Détecter le format de date au démarrage
    Par stigma dans le forum Access
    Réponses: 2
    Dernier message: 20/02/2004, 11h04
  3. Réponses: 11
    Dernier message: 02/09/2003, 14h20
  4. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 08h19
  5. Réponses: 3
    Dernier message: 06/05/2002, 18h24

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