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

VBScript Discussion :

Renommer tous les fichiers avec la date du jour


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 22
    Points : 14
    Points
    14
    Par défaut Renommer tous les fichiers avec la date du jour
    Bonjour à tous,

    J'ai actuellement un code qui permet de créer un répertoire qui a comme nom le mois et l'année en cours et de copier des fichiers Excel vers ce répertoire.

    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
    29
    30
    31
     
    Option Explicit
    'Déclaration des variables
    Dim fs, DossierDate, DossierModele, Fichier
     
    'construction du nom du dossier destination à partir de la date du jour
    'Il ne faut oublier le \ à la fin 
    DossierDate = Year(Now) & "-" & Month(Now) & "\"
     
    'Création de dossiers à l'aide du composant FileSystemObject
    Set fs = CreateObject("Scripting.FileSystemObject")
    If Not(fs.FolderExists("C:\Test\" & DossierDate)) Then
     
    'Création de la destination
        fs.CreateFolder ("C:Test\" & DossierDate)
        MsgBox "Le dossier " & DossierDate & " a été créé" 
    else  
        MsgBox "Le dossier " & DossierDate & " existe déjà"
    End If
     
    'récupération du dossier model
     Set DossierModele = fs.Getfolder("C:Model\")
     
    'parcours du dossier model
     For Each Fichier In DossierModele.Files
        If (UCase(fs.GetExtensionName(Fichier.Name))) = UCase("XLSX") Then     
            'On copie les fichiers excel vers C:\
            fs.CopyFile Fichier.Path,"C:\Test\" & DossierDate
        End If
    Next
    MsgBox "Copie des fichiers dans le dossier " & DossierDate & " terminée"
    Maintenant, j'essaye de renommer tous les fichiers Excel compris dans le répertoire que je viens de créer pour qu'ils aient comme nom le "nomdufichier" + dossierDate.

    En effet, ces fichiers sont utilisé tous les mois ainsi pour éviter les erreur j'aimerais bien qu'ils aient la date (mois + année) de l'année en cours.

    Je vous remercie par avance de votre aide.

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, en incorporant qqch comme cette chaine dans ton nom de fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim sDate As String
      sDate = Format(Now, "mmmm yyyy")

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    merci kiki29 mais je savais deja. Le truc c'est que tout les fichiers excell ne porte pas le meme nom mais je voudrais que chaque fichiers aient dans leur nom le mois et l'annee en cours.

  4. #4
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    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
    29
    30
    31
    Option Explicit
    'Déclaration des variables
    Dim fs, DossierDate, DossierModele, Fichier ,NewName
    'construction du nom du dossier destination à partir de la date du jour
    'Il ne faut oublier le \ à la fin 
    'NewName = Year(Now) & "-" & Month(Now) 
    DossierDate = Year(Now) & "-" & Month(Now) & "\"
     
    'Création de dossiers à l'aide du composant FileSystemObject
    Set fs = CreateObject("Scripting.FileSystemObject")
    If Not(fs.FolderExists("C:\Test\" & DossierDate)) Then
     
    'Création de la destination
        fs.CreateFolder ("C:\Test\" & DossierDate)
        MsgBox "Le dossier " & DossierDate & " a été créé" 
    else  
        MsgBox "Le dossier " & DossierDate & " existe déjà"
    End If
     
    'récupération du dossier model
     Set DossierModele = fs.Getfolder("C:\Model\")
     
    'parcours du dossier model
     For Each Fichier In DossierModele.Files
        If (UCase(fs.GetExtensionName(Fichier.Name))) = UCase("XLSX") Then     
            'On copie les fichiers excel vers C:\
            NewName = fs.GetBaseName(Fichier) & "_" & Year(Now) & "-" & Month(Now) & ".xlsx"
            fs.CopyFile Fichier.Path,"C:\Test\" & DossierDate & NewName
        End If
    Next
    MsgBox "Copie des fichiers dans le dossier " & DossierDate & " terminée"

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    merci hackoofr tu es genial

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/09/2009, 09h34
  2. lister tous les fichiers avec des différences entre deux répertoires.
    Par contremaitre dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 13/03/2008, 15h24
  3. renommer tous les fichiers d'un répertoire
    Par khasanouray dans le forum Langage
    Réponses: 14
    Dernier message: 19/07/2007, 17h44
  4. Imprimer tous les fichiers avec un mot spécifié dans le nom
    Par cyber-kaiser dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 11/06/2007, 13h35
  5. Sélectionner tous les fichiers avec l'extension
    Par babarpapa dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 27/03/2006, 10h25

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