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 de vba


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par défaut format de date de vba
    Bonjour,

    Je souhaiterais pouvoir formater des dates en VBA et je ne trouve pas comment, sauf en créant un morceau de code.
    Y a-t-il une instruction en une ligne?
    Du genre: obtenir jj-mm-aa au lieu de jj/mm/aa,
    Et pour les heures ne pas utiliser les ' : '.

    Merci si vous pouvez m'aider.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    un test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim dte As Date
    dte = DateSerial(1986, 11, 24) + TimeSerial(11, 52, 17)
    MsgBox Format(dte, "dd_mm_yyyy") 'format date
    MsgBox Format(dte, "hh mm") 'format heures minutes
    MsgBox Format(dte, "dd-mm-yyyy hh.mm") 'format complet

  3. #3
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805

  4. #4
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par défaut
    Merci mercatog .

    J'ai copier-coller le code que tu me donnes, donc sans fautes, mais j'obtiens une erreur 450 suivante :

    Erreur de compilation.
    Nombre d'arguments incorrects ou affectation de propriété incorrecte.

    Merci ormonth pour les adresses, j'avais déjà vu, mais obtenu l'erreur.
    D'où cela peut-il venir ?

    J'ai Excel 2003.

    Merci.

  5. #5
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x = Format(DateSerial(Year(Date), Month(Date), Day(Date)), "dd-mm-yy")

  6. #6
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Je souhaiterais pouvoir formater des dates en VBA et je ne trouve pas comment, sauf en créant un morceau de code.
    à quelle fin ?

    sinon...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Bizarroidale()
    Dim dtmMadate As Date
     
    dtmMadate = #4/8/2010 10:19:00 PM#
    With Cells(10, 2)
       .Value = dtmMadate
       .NumberFormat = "dd-mm-yyyy hh~mm"
    End With
    End Sub

    cordialement,

    Didier

  7. #7
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par défaut
    Merci ormonth,

    Il reste toujours les ':' entre heures et minutes.
    Le but est le suivant. Dans un code VBA pour sauvegarder, j'ajoute le temps pour définir la sauvegarde. Il ne doit pas y avoir de '/' ni de ':' , c'est pourquoi je veux un format acceptable, sans avoir à changer les habitudes dans Windows.

  8. #8
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Il reste toujours les ':' entre heures et minutes.
    ca dépend du contexte :



    c'est pourquoi je demandais :

    à quelle fin ?
    tu dis :
    Dans un code VBA pour sauvegarder, j'ajoute le temps pour définir la sauvegarde.
    Est-ce que ton but est de sauvegarder un fichier avec un horodatage dans le nom qui aurait comme particularité d'éviter les : qui sont refusés dans le nommage des fichiers
    Dans quel cas c'est un code du genre qu'il te faut..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim strExtractName As String
    Dim strHorodat As String
    strHorodat = Format(Date, "dd-mm-yy") & " " & Format(Time, "h-mm-ss")
    strExtractName = gvStrChemS12 & "Extraction-Liste " & gvstrTrigramme & " du " & strHorodat
    Workbooks(wkbPass).SaveAs Filename:=strExtractName
    ou :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub HoroSauv()
    Dim strExtractName As String
    Dim strHorodat As String
    Dim dtmMadate As Date
     
    dtmMadate = #4/29/2010 10:19:00 PM#
    strHorodat = "le " & Format(dtmMadate, "dd-mm-yyyy ") & " a  " & Format(dtmMadate, "hh-mm-ss")
    ThisWorkbook.SaveAs Filename:="D:\" & "MonClasseur " & strHorodat
     
    End Sub
    cordialement,

    Didier

Discussions similaires

  1. Format de date en VBA
    Par lucien(67) dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/01/2013, 20h44
  2. format de date dans vba
    Par Invité dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/07/2008, 21h26
  3. Réponses: 4
    Dernier message: 15/03/2007, 08h02
  4. [VBA-EXCEL] format de date lors d'écriture dans une cellule
    Par ustilago dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2007, 18h44
  5. [VBA] Pb de format des dates dans un état
    Par linda15975 dans le forum IHM
    Réponses: 45
    Dernier message: 21/06/2005, 15h49

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