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 un fichier [XL-2000]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut renommer un fichier
    Bonjour à tous et toutes,

    j'ai fait une petite macro pour renommer un fichier (date + contenu de la celule AB9).
    La macro en elle même fonctionne : le fichier nouvellement renommé apparait mais l'ancien fichier n'est pas ecrasé par le nouveau .
    Ainsi, j'ai sur mon bureau, les deux mêmes fichiers dont l'un nouvellement renommé et le second avec toujours son ancienne appelation.
    Je souhaiterais supprimer l'ancien fichier mais je ne sais pas comment m'y prendre
    J'ajoute que le fichier original ( l'ancien fichier) possede un nom aléatoire qui change chaque jour.

    Je vous joins ma macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Renommer()
    If Range("A1").Value = "HERMES - JOURNAL D'ACTIVITE TRANSPORT DEPART:" Then Range("AB9").Value = "DEPART" Else
    If Range("A1").Value = "HERMES - JOURNAL D'ACTIVITE TRANSPORT ARRIVEE:" Then Range("AB9").Value = "ARRIVEE"
     
    Dim nom As String, Fichier As String
    nom = Range("AB9") & "-" & Format([B5].Value, "dddd-dd-mm-yyyy")
     
    'Nom à donner au nouveau fichier
    Fichier = nom
     
    'Enregistrement au format du classeur
    ActiveWorkbook.SaveAs Filename:=Fichier, FileFormat:=xlNormal
     
    End Sub

  2. #2
    Membre actif

    Profil pro
    Inscrit en
    Août 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Août 2009
    Messages : 85
    Points : 228
    Points
    228
    Par défaut
    L'objet Workbook ne possède pas de méthode delete en effet...
    D'ailleurs, sous Excel tu ne peux jamais supprimer un fichier ! Dans le menu fichier, tu as enregistrer sous, mais pas supprimer. C'est une action gérée par le système (Windows).
    Donc y'a plusieurs façon de faire, perso d'habitude je bosse avec le FSO qui me donne entière satisfaction pour manipuler le système de fichier.

    Tu peux donc écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    'déclaration file system object
    Dim fso
     
    'instanciation
    Set FSO = CreateObject("Scripting.FileSystemObject")
     
    'Suppression du fichier
    Set fichier_encours= fso.GetFile("moncheminsource")   'Fichier origine
    fichier_encours.delete
    Mais y'a d'autres façon peut être plus rapide...

  3. #3
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 607
    Points : 34 280
    Points
    34 280
    Par défaut
    salut,
    je préconise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Dir(Fichier)<>"" Then Kill Fichier
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  4. #4
    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
    Une autre facon de faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim FichierSource As String
     
    FichierSource = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
     
    .
    .
    .
     
    'Enregistrement au format du classeur
    ActiveWorkbook.SaveAs Filename:=Fichier, FileFormat:=xlNormal
     
    Kill (FichierSource)
    ++
    Minick

  5. #5
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut Renommer un fichier
    Merci infiniment Minick .
    Ton petit bout de macro fonctionne à merveille.
    Je remercie aussi les autres intervenants pour leur réponse.

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

Discussions similaires

  1. Renommer un fichier a la date du jour
    Par mandrack dans le forum Linux
    Réponses: 3
    Dernier message: 15/12/2008, 10h18
  2. [LG]programme qui renomme des fichiers
    Par Ne0taku dans le forum Langage
    Réponses: 9
    Dernier message: 16/02/2005, 21h18
  3. renommer un fichier uploadé
    Par Sowa dans le forum ASP
    Réponses: 2
    Dernier message: 07/02/2005, 09h23
  4. Renommer un fichier avec SmartUpload
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 21/12/2004, 15h53
  5. [] [Réseau] Renommer des fichiers dans un site FTP
    Par JerBi dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 22/08/2003, 00h35

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