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 :

VBA Modification date [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 126
    Points : 69
    Points
    69
    Par défaut VBA Modification date
    Bonjour,
    J'aurai savoir si vous saviez comment transformer une date en VBA.
    La case excel contiendra la date sous la forme JJ/MM/AAAA et j'aimerai la transformer en AAAAMMJJ.

    EX : 10/08/2009 doit etre transformé sous VBA en 20090810.

    Cdlt

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Points : 547
    Points
    547
    Par défaut
    Salut,

    comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(Feuil1.Range("A1").Value, "yyyymmdd")
    ++
    Minick
    ++
    Minick

  3. #3
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 126
    Points : 69
    Points
    69
    Par défaut
    Nikel .
    Merci pour ta réponse et ta rapidité.

    Re,
    J'aurai aimé aussi faire une autre modification de la date.
    En partant de la date 11/08/09 j'aimerai avoir 09222.

    "09" pour l'année et "222" car le 11 aout correspond au 222 ième jour de l'année.


    Cdlt

  4. #4
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour

    Excel propose la fonction JOURS360.
    Tu peux utiliser cette fonction dans VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.WorksheetFunction.Days360("01/01/2009", Now)
    Jérôme

  5. #5
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Je propose ce petit bricole à mettre dans un module!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Function Kodj(ByVal dte As Date) As String
     
    Kodj = Right(Year(dte), 2) & Format(DateDiff("d", CDate("01/01/" & Year(dte)), dte), "000")
     
     
    End Function
    MeaCulpa 2
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 61
    Points : 68
    Points
    68
    Par défaut
    Bonjour à tous,

    peut être une autre solution, comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim x As String
    x = "09" & DatePart("y", #8/11/2009#)
    Attention, sur mon éphéméride le 11 août est le 223ème jour de l'année...

    bon après midi
    @+

  7. #7
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Effectivement Pierrot! le 11/8/2009 est le 223ème jour
    le 1/1/2009 était le jour 0 alors:
    pour n'importe quelle date et année je rectifie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Function Kodj(ByVal dte As Date) As String
     
    Kodj = Right(Year(dte), 2) & Format(1 + DateDiff("d", CDate("01/01/" & Year(dte)), dte), "000")
     
    End Function
    et avec DatePart c'est mieux! merci Pierrot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Function Kodj(ByVal dte As Date) As String
     
    Kodj = Right(Year(dte), 2) & Format(DatePart("y", dte), "000")
     
    End Function
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

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

Discussions similaires

  1. [VBA-E]date dans formule
    Par illight dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/06/2006, 11h16
  2. [VBA et DATE]problème de requete
    Par herendel dans le forum Access
    Réponses: 5
    Dernier message: 16/05/2006, 10h54
  3. [VB]Binding Collect : pb modification date
    Par MITCH31 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 26/02/2006, 12h32
  4. [VBA] Modification de la source d'un état (report)
    Par gripoil dans le forum Access
    Réponses: 9
    Dernier message: 19/10/2005, 20h22
  5. [VBA-E] Dates avec année à deux chiffres
    Par BBe8127 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2005, 17h23

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