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 des fichiers en masse à partir d'une liste excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Renommer des fichiers en masse à partir d'une liste excel
    Bonjour
    Je voudrais renommer des fichiers que j'ai dans un répertoire à partir d'une liste qui est sur un fichier excel qui contient dans une colonne les noms des anciens fichiers avec leurs extensions et dans l'autre colonne les noms des nouveaux fichiers avec leurs extensions.

    par exemple j'ai un fichier a.doc dans mon répertoire et dans ma liste excel a.doc c'est l'ancien nom et le nouveau nom c'est b.doc. je voudrais renommer ce fichier automatiquement.
    merci

  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,

    Teste ceci mais adapte auparavant :
    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
     
    Sub Test()
     
        Dim Plage As Range
        Dim Cel As Range
        Dim Dossier As String
     
        'adapter le chemin...
        Dossier = "C:\Dossier\SousDossier\"
     
        'en colonne A de la feuille active à partir de A1
        With ActiveSheet
     
            Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
     
        End With
     
        'ancien nom en colonne A et nouveau nom en colonne B
        For Each Cel In Plage
     
            'Impératif, les fichiers doivent être fermés !
            Name Dossier & Cel.Value As Dossier & Cel.Offset(, 1).Value
     
        Next Cel
     
    End Sub

  3. #3
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Merci
    j'ai essayé ton bout de code mais quand j'éxécute j'obtiens un message d'erreur sur la ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Name Dossier & Cel.Value As Dossier & Cel.Offset(, 1).Value
    Le message d'erreur est le suivant
    erreur 53 fichier introuvable
    pourtant j'ai bien précisé le chemin où se trouvent mes fichiers

  4. #4
    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,

    Les noms des fichiers sont bien en colonne A et les nouveaux noms en colonne B ?
    La première ligne (cellules A1 et B1) sont des entêtes ou non ?
    Sinon, poste un petit classeur exemple !

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Bonjour,
    Citation Envoyé par sophia1989 Voir le message
    Merci
    j'ai essayé ton bout de code mais quand j'éxécute j'obtiens un message d'erreur sur la ligne:

    Name Dossier & Cel.Value As Dossier & Cel.Offset(, 1).Value

    contrôle la valeur de tes variables en passant le curseur de la sourie sur Dossier et Cel.Value....

    ou tu remplace ta ligne par Message bopx

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Dossier & Cel.Value  & vbCrlf & Dossier & Cel.Offset(, 1).Value

  6. #6
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    J'ai essayé d'afficher la valeur de la variable Dossier en utilisant ta ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Dossier & Cel.Value  & vbCrlf & Dossier & Cel.Offset(, 1).Value
    çà m'affiche le chemin concaténé au nom de la colonne
    çà ne me renomme pas les fichiers

    ce que je ne comprends pas c'est pourquoi il n'accède pas aux fichiers que je veux renommer et qui sont contenus dans un même répertoire
    je m'explique
    j'ai un répertoire nommé fichiers qui contient deux fichiers a.docx et e.xlsx que je veux renommer
    j'ai un fichier excel qui contient deux colonnes la première nommée ancien nom qui contient dans ses cellules a.docx et e.xslx
    et la deuxième colonne nommée nouveau nom qui contient dans ses cellules b.docx et f.xslx

    quand je déclare au sein du programme la variable Dossier comme ceci Dossier = "C:\Users\user\Desktop\fichiers"
    et que je l'affiche en utilisant msgbox il m'affiche le chemin uniquement
    je voudrais pouvoir récupérer le contenu de la variable pour l'exploiter dans la boucle
    je ne sais pas comment faire

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par sophia1989 Voir le message
    J'ai essayé d'afficher la valeur de la variable Dossier en utilisant ta ligne de code
    MsgBox Dossier & Cel.Value & vbCrlf & Dossier & Cel.Offset(, 1).Value

    çà m'affiche le chemin concaténé au nom de la colonne
    çà ne me renomme pas les fichiers
    ...
    Le but du message box c'est d'afficher le contenu de la concaténation de tes variables afin d'être sur que tu effectue le bon calcul ...

    qu'affiche exactement le message box ?

  8. #8
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    le msgbox affiche C:\Users\user\Desktop\fichiersanciennom
    C:\Users\user\Desktop\fichiersnouveaunom

  9. #9
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    tes fichiers n'ont pas d'extensions ?

    quel est le nom de tes fichiers ? ta façon de les anonymiser ne nous aide pas .. !! s'appelle-t-il fichierAncienNom ou AncienNom !

  10. #10
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    mes fichiers contenus dans le répertoire se nomment a.docx et e.xlsx
    les mêmes noms figurent dans la colonne anciennom
    et dans l'autre colonne nouveaunom figurent les noms b.docx et f.xlsx

    ce sont mes fichiers contenus dans un même répertoire
    Nom : Sans titre1.png
Affichages : 5420
Taille : 93,7 Ko
    et là c'est ma liste excel avec les nouveaux noms avec lesquels je veux renommer les fichiers
    Nom : Sans titre2.png
Affichages : 5273
Taille : 45,0 Ko

  11. #11
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    et donc on ne voit pas les noms de tes fichiers dans les message box ?

    tu n'as pas l'impression de commencer une ligne trop haut pour ton action de renommer ....? revoit la façon dont tu calcule ta plage initiale ... remplace le .Cells(1,1) par .Cells(2,1) pour commencer en ligne 2..

  12. #12
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    le msgbox s'exécute correctement
    mais l'instruction Name ne fonctionne toujours pas

  13. #13
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    J'aurais quand même bien voulu voir le contenu de ton message box ...? quand tu dis correct ... est tu sur qu'il ne manque pas un séparateur : \ ?

  14. #14
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Nom : Sans titre3.png
Affichages : 5266
Taille : 95,5 KoNom : Sans titre4.png
Affichages : 5245
Taille : 62,6 Ko

  15. #15
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Eu... oui .. les messages box qui je te rappelle ne sont la que pour t'aider au débeuggage en vérifiant les noms de fichiers , semblent .. bien donner un résultat valable ....

    et donc tu peu réactiver ta ligne "...name..."

  16. #16
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    j'obtiens toujours la même erreur
    Nom : Sans titre1.png
Affichages : 5204
Taille : 37,9 KoNom : Sans titre2.png
Affichages : 5169
Taille : 27,5 Ko

  17. #17
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Le fichier word est-il renommé ?


    pour le fichier excel .. revoit tes extensions ... l'extension à utiliser est xlsx et pas xslx ...! comme sur ta copie d'écran du post 13..

  18. #18
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    non mon fichier doc n'est pas renommé
    j'ai rectifié l'extension du fichier xlsx c'était une faute de frappe
    ça ne fonctionne toujours pas
    quand j'ai cherché sur internet l'erreur d'exécution 53 j'ai trouvé que ça pouvait être le problème d'une dll mais ils ne disent pas de quelle dll il s'agit

Discussions similaires

  1. Renommer des fichiers en masse
    Par chrtophe dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 07/08/2015, 09h27
  2. Réponses: 1
    Dernier message: 13/01/2011, 11h45
  3. [Upload] Renommer des fichiers en masse en ligne
    Par gras_s dans le forum Langage
    Réponses: 4
    Dernier message: 04/04/2008, 10h57
  4. Réponses: 4
    Dernier message: 11/07/2007, 19h28
  5. Recherche d'un script PHP pour renommer des fichiers en masse
    Par pekka77 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 19/11/2006, 23h43

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