Bonjour,
Je souhaite supprimer les 35 derniers caractères de plusieurs fichiers excel.
J'ai créé cette macro en permettant la sélection du dossier qui contient les fichiers. Cependant, je n'arrive pas "à fixer" le chemin d'accès pour renommer.
Voici la macro. Je transmets 2 fichiers en exemple.
Peut-être ajouter un "return" dans la fonction, qui récupère le chemin d'accès ?
Je souhaite supprimer les 35 derniers caractères de plusieurs fichiers excel.
J'ai créé cette macro en permettant la sélection du dossier qui contient les fichiers. Cependant, je n'arrive pas "à fixer" le chemin d'accès pour renommer.
Voici la macro. Je transmets 2 fichiers en exemple.
Peut-être ajouter un "return" dans la fonction, qui récupère le chemin d'accès ?
VB:
Sub Suppresion_fin_caractères()
Dim NomFic As String, Wbk As Workbook
Dim Texte As String
If MsgBox("Simplifier les noms des fichiers ?", vbYesNo) = vbNo Then Exit Sub
ChDrive "C": ChDir Selection_Dossier
NomFic = Dir("*.xl*")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
NbFic = 0
Do While NomFic <> ""
NbFic = NbFic + 1
Texte = Left(NomFic, Len(NomFic) - 35)
Texte = Texte & ".xls"
Name NomFic As Selection_Dossier & "\" & Texte 'La difficulté est ici
NomFic = Dir: Loop
MsgBox ("Tous les " & NbFic & " noms des fichiers du dossier sélectionné ont été simplifiés !")
End Sub
Function Selection_Dossier() As Variant
With Application.FileDialog(4)
.Show
On Error Resume Next
Selection_Dossier = .SelectedItems(1)
If Err.Number <> 0 Then Selection_Dossier = False
End With
End Function
Pièces jointes
Dernière édition: