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 :

Formater Variable Date dans Userform


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut Formater Variable Date dans Userform
    Bonjour,
    J'ai une variable de type date qui s'affiche dans une comboBox (userform).
    Le format d'affichage est le suivant 01/04/2012
    Par création de liste (ComboBox) à partir de données sous Excel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            SDate = FormatDateTime(Sheets(NomFeuille).Cells(3, numcol + I).Value, vbShortDate)
            MoisRef706.AddItem SDate
    Je souhaierai pouvoir afficher "avr.-12" à la place de "01/04/2012".
    Auriez-vous une bonne recette ?

    Merci par avance

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Points : 2 502
    Points
    2 502
    Par défaut
    Bonjour,

    Je souhaiterais pouvoir afficher "avr.-12" à la place de "01/14/2012".
    Avec : Format(<la date>, "mmm.-yy").

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SDate = Format(Sheets(NomFeuille).Cells(3, numcol + I).Value, "mmm.-yy")

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut Merci mais !
    Citation Envoyé par BlueMonkey Voir le message
    Bonjour,



    Avec : Format(<la date>, "mmm.-yy").

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SDate = Format(Sheets(NomFeuille).Cells(3, numcol + I).Value, "mmm.-yy")
    C'set pas mieux, le système prend les dates en entrée au format US.
    12/04/2012 au lieu de la bonne valeur qui est 01/04/2012
    Ce que j'avais déjà essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub MoisRefSCF_Change()
        MoisRefSCF.Text = Format(MoisRefSCF.Value, "mmm-yy")
    End Sub

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Points : 2 502
    Points
    2 502
    Par défaut
    Bonsoir,

    C'est assez étrange.
    Lorsque en <A1> vaut "12/04/2012" ou "1/04/2012",
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call MsgBox("Date = " & Format(Cells(1, 1).Value, "mmm.yy"))
    le code affiche "avr. 12" chez moi. (XLS2003)

    Peut être lié aux paramètres régionaux.
    Sinon en faisant un décodage de la chaîne de caractères en repérant les "/",
    (avec la fonction split par exemple),
    puis en recontruisant la date en inversant le premier et 2ème champs.

  5. #5
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonsoir,

    J’ai fait ce petit test avec un Userform, 2 Textbox et 1 CommandButton.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub UserForm_Initialize()
        TextBox1 = FormatDateTime(Now, vbShortDate)
        TextBox2 = Format(Now, "mmm.-yy")
    End Sub 
    Private Sub CommandButton1_Click()
        Range("A1") = CDate(TextBox1)
        Range("A2") = CDate(TextBox2)
    End Sub
    L’affichage est correct dans la Textbox1 et la cellule A1 (19/07/2012).
    L’affichage est correct dans la Textbox2 (juil.-12) mais dans la cellule A2 on obtient 12/07/2012, ce qui ne me surprend pas puisqu’on demande à Excel d’inventer le jour qui correspond à la date "mmm.-yy".

    Cordialement.

Discussions similaires

  1. [WD-2007] format de date dans USERFORM
    Par Jumanji dans le forum VBA Word
    Réponses: 6
    Dernier message: 21/01/2012, 15h57
  2. [XL-2003] Format de date dans un UserForm
    Par FCL31 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 17/04/2009, 14h32
  3. [SQL 9i ] format de date dans un where
    Par booth dans le forum Oracle
    Réponses: 5
    Dernier message: 14/10/2005, 10h23
  4. [oracle][delphi] Problème format de date dans une requete
    Par le_parrain dans le forum Bases de données
    Réponses: 1
    Dernier message: 21/07/2005, 10h12
  5. [VBA] Pb de format des dates dans un état
    Par linda15975 dans le forum IHM
    Réponses: 45
    Dernier message: 21/06/2005, 14h49

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