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 :

renommer fichier avec le mois d'avant


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 70
    Points : 47
    Points
    47
    Par défaut renommer fichier avec le mois d'avant
    bonjour,
    lors de mon import que créer un fichier donc le nom est "2011-03 toto".
    le problème que cette import est effectuer au début de chaque mois
    alors que dans le nom je veux que sa figure le mois d'avant donc au lieu d'avoir "2011-03 toto" j'ai "2011-04 toto".
    pour le moment j'utilise se code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(Format(Now, "yyyy-mm") & " toto")

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Une piste (je ne suis pas trop calé en date) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Workbooks (Year(Now) & "-" & Format(Month(Now) - 1, "00") & " toto")
    Hervé.

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 936
    Points : 28 932
    Points
    28 932
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Comme ceci aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Format(DateSerial(Year(Now), Month(Now) - 1, 1), "yyyy-mm") & " Toto"

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 651
    Points : 34 360
    Points
    34 360
    Par défaut
    Hello,

    je me permets de vous indiquer que si on arrive a janvier 2012, il faudra mettre decembre 2011, donc je propose plutot une approche avec DateAdd

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub piou()
    Debug.Print Format(DateAdd("m", -1, Date), "yyyy-mm") & " toto"
    End Sub

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 936
    Points : 28 932
    Points
    28 932
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Tu as tout à fait raison Jean-Philippe, voilà ce qui arrive quand on répond trop vite.
    En fait avec DateSerial, il suffit de mettre le jour à 0 pour obtenir le dernier jour du mois qui précède et donc, j'aurais du proposer ceci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim wDate As Date
      wDate = DateSerial(2012, 1, 15)
      MsgBox Format(DateSerial(Year(wDate), Month(wDate), 0), "yyyy-mm") & " Toto"
    C'est la même chose avec la fonction Date d'excel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATE(ANNEE(MAINTENANT());MOIS(MAINTENANT());0)

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

Discussions similaires

  1. [Batch] Renommer fichiers avec ou sans extension
    Par youngblood6 dans le forum Scripts/Batch
    Réponses: 9
    Dernier message: 26/01/2014, 17h07
  2. Renommer fichiers avec .bat
    Par ash_rmy dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 02/03/2009, 10h53
  3. Renommer fichier avec file_column
    Par fmh1982 dans le forum Ruby on Rails
    Réponses: 3
    Dernier message: 28/10/2008, 18h18
  4. [VBA] renommer fichier avec delai avant apparition du fichier
    Par yepAccess dans le forum VBA Access
    Réponses: 8
    Dernier message: 09/04/2007, 06h23
  5. Aide pour renommer fichiers avec .bat
    Par bobsapp dans le forum Windows
    Réponses: 6
    Dernier message: 21/03/2007, 13h11

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