Nommer classeurs suivant cellule

Titsy

XLDnaute Nouveau
Bonjour le forum

J'ai de nouveau besoin de votre aide
dans un repertoire j'ai 150 classeurs et j'aimerais pouvoir les renommer en fonction d'une cellule "A8" par exemple, situé dans chaque classeur.
Pour compliquer un peu ma demande, il faudrait que tout cela s'execute en 1 fois et classeurs fermés (pour m'eviter d'avoir à ouvrir les 150 classeurs)

Merci pour votre aide

Michel
 

Caillou

XLDnaute Impliqué
Re : Nommer classeurs suivant cellule

Bonjour,
Avec le modèle d'objet 'FileSystemObject', on peut y arriver, mais dans mon exemple, la macro va ouvrir chaque fichier (pour récupérer le contenu de la cellule A8), le fermer puis le renommer.
Je considère aussi que le dossier ne contient que des fichiers Excel!
La macro peut s'avérer longue et dangereuse et ne gére pas les doublons (je l'ai testée avec un dossier contenant 10 fichiers excel)
De plus, elle nécessite la référence Microsoft Scripting Runtime
En voici le code :
Sub Ren_fic()
On Error Resume Next
Dim fso As Scripting.FileSystemObject
Dim fld As Scripting.Folder
Dim fle As Scripting.File
Dim NvNom As String
Set fso = New Scripting.FileSystemObject
Set fld = fso.GetFolder("C:\REPERTOIRE")
Application.ScreenUpdating = False
For Each fle In fld.Files
Workbooks.Open fle.Path
NvNom = Sheets(1).Range("a8").Text
ActiveWorkbook.Close False
fle.Name = NvNom & ".xls"
Next
Application.ScreenUpdating = False
Set fle = Nothing
Set fld2 = Nothing
Set fld = Nothing
Set fso = Nothing
End Sub
 

Titsy

XLDnaute Nouveau
Re : Nommer classeurs suivant cellule

Bonsoir Caillou, Re le forum

Je ne dirais qu'une chose "Je tombe sur le cul";)
Cela marche a merveille
de plus quand la macro trouve un doublon (car il y en avait un)elle se contente de ne pas renommer le fichier.

Je te remercie encore Caillou (je me voyais mal ouvrir 264 fichiers et les renommer manuellement)

Michel
 

Discussions similaires

Statistiques des forums

Discussions
312 685
Messages
2 090 938
Membres
104 703
dernier inscrit
romla937