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 :

mettre une date dans une cellule avec le bon format


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 31
    Points : 27
    Points
    27
    Par défaut mettre une date dans une cellule avec le bon format
    Bonjour, je cherche à mettre une date dans une cellule avec le format suivant : 04/JA/2009.

    J'ai tenté avec la fonction date, cdate, format, j'ai cherché sur le net, mais il n'y a rien qui fonctionne avec le format que je désire.

    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(1, 6) = Format(Date, "dd/mm/yyyy")
    merci de m'aider

  2. #2
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    Tu veux réellement 04/JA/2009 pour le 4 janvier 2009. Et non 04/01/2009?

    Dans ce cas, je ne crois pas qu'il existe un format déjà prévu.
    Tu peux toujours obtenir le jour, le mois et l'année séparément et les concaténé avec quelque chose comme ceci:
    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
     
    Function ObtenirDate()
        Dim Jour
        Dim Mois
        Dim Annee
        Dim MaDate
     
        Jour = Day(Date)
        Select Case Month(Date)
            Case 1: Mois = "JA"
            Case 2: Mois = "JF"
            Case 3: Mois = "MR"
            Case 4: Mois = "AV"
            Case 5: Mois = "MA"
            Case 6: Mois = "JN"
            Case 7: Mois = "JU"
            Case 8: Mois = "AU"
            Case 9: Mois = "SE"
            Case 10: Mois = "OC"
            Case 11: Mois = "NO"
            Case 12: Mois = "DE"
        End Select
        Annee = Year(Date)
     
        MaDate = Jour & "/" & Mois & "/" & Annee
        ObtenirDate = MaDate
     
    End Function

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonsoir,

    Pour une date bizarre, elle l'est !

    Bon ... (je m'en lave les mains)...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Function datebizarre(D As Date) As String
      Dim mois As String
      mois = Format(D, "mmm")
      mois = IIf(Month(D) <> 3 And Month(D) <> 6, Left(mois, 2), Left(mois, 1) & Mid(mois, 3, 1))
      datebizarre = Format(Day(D), "00") & "/" & UCase(mois) & "/" & Year(D)
    End Function
    EDIT :
    Je n'aime pas le "JI" pour juin et préfère le "JN" proposé...
    Alors on change :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Function datebizarre(D As Date) As String
      Select Case Month(D)
        Case 3
          mois = "MR"
        Case 6
          mois = "JN"
        Case Else
          mois = UCase(Left(Format(D, "mmm"), 2))
      End Select
      datebizarre = Format(Day(D), "00") & "/" & mois & "/" & Year(D)
    End Function
    RE-EDIT :
    et comme les goûts et les couleurs ne se discutent pas, voilà ce qui est à la fois court et laisse toute liberté de baptème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Function datebizarre(D As Date) As String
      mois = Array("", "JA", "FV", "MR", "AV", "MA", "JN", "JL", "AU", "SP", "OT", "NV", "DC")
      datebizarre = Format(Day(D), "00") & "/" & mois(Month(D)) & "/" & Year(D)
    End Function
    Il ne reste qu'à faire un choix, sans préjudice de la facilité d'utilisation de telles "dates" ...

  4. #4
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Salut à tous.

    Le pb c'est que si le demandeur voulait un format d'affichage, il a maintenant un changement de type : date --> Texte.

    PGZ

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    ça marche!! Merci à tous, j'ai retenu la solution de ucfoutu, l'idée d'un vecteur est géniale!

    @ pgz, je dois inscrire la date dans une cellule, alors même si c'est une chaine de caractère, c'est correct.

    voici le code retenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim datebizarre As String
     mois = Array("", "JA", "FÉV", "MAR", "AVL", "MAI", "JN", "JL", "AU", "SEP", "OCT", "NOV", "DEC")
     datebizarre = Day(Date) & "/" & mois(Month(Date)) &  "/" & Year(Date)

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 126
    Points : 54
    Points
    54
    Par défaut
    super en effet!

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

Discussions similaires

  1. [MySQL] insérer une date dans une table dans un format compréhensible
    Par laurentSc dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 16/08/2014, 11h10
  2. insérer une date dans une table dans un format compréhensible
    Par laurentSc dans le forum Langage SQL
    Réponses: 5
    Dernier message: 08/08/2014, 16h31
  3. Réponses: 2
    Dernier message: 23/03/2014, 12h05
  4. mettre un swf dans une iframe dans une page html
    Par petitevero dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 16/04/2011, 02h58
  5. Inserer une date d'une table dans une autre table
    Par petitetre dans le forum Langage SQL
    Réponses: 8
    Dernier message: 18/04/2007, 20h16

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