modifier des libellés dans un répertoire

mercant76

XLDnaute Impliqué
bonjour à tout le forum,

je cherche une astuce pour modifier des libellés dans un répertoire. par exemple :

Dassin Jo - Le café des 3 colombes.mp3

en :

Le café des 3 colombes - Dassin Jo.mp3,

bien sur en "paquet", car un par un, je sais faire, mais c'est long.

merci d'avance de vos astuces.

@+
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : modifier des libellés dans un répertoire

Bonjour Mercnat, Re bonjour Kjin, bonjour le forum,

Moi non plus je suis pas sûr d'avoir compris. Comme tu ne précises ni le chemin ni le répertoire, je ne me suis occupé que de l'inversion en tapant dans A1 : Dassin Jo - le café des trois concombres.mp3... pour aboutir à Le café des trois concombres - Dassin Jo.mp3.
Code:
Sub Macro1()
Dim ext As String 'déclare la variable ext (EXTension)
Dim deb As String 'déclare la variable deb (DEBut)
Dim fin As String 'déclare la variable fin
Dim inv As String 'déclare la variable inv (INVersion)
 
ext = Right(Cells(1, 1).Value, 4) 'extrait l'extension
deb = Split(Cells(1, 1), " - ", -1)(0) 'extrait la première partie
fin = Split(Cells(1, 1).Value, " - ", -1)(1) 'extrait la seconde partie (avec l'extension)
fin = Split(fin, ".", -1)(0) 'extrait la seconde partie (sans l'extension)
inv = fin & " - " & deb & ext 'definit le nom inversé
Cells(1, 1).Value = inv
End Sub
Ne fonctionne que s'il y a un seul [Espace][tiret][Espace] entre les deux partie !
 

mercant76

XLDnaute Impliqué
Re : modifier des libellés dans un répertoire

bonjour Kjin, Robert, David84 et le forum.

je me suis surement mal exprimé :

en "paquet",par là je veux dire modifier tout ce qui se trouve dans le répertoire.

mon répertoire : c:\Documents\Musique.

en clair, je veux pouvoir modifier les titres dans le répertoire et non les titres dans un fichier excel.

merci de vos réponses, je vais tester et vous redis.

@+
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : modifier des libellés dans un répertoire

Bonjour le fil, bonjour le forum,

Peut-être comme ça :
Code:
Sub Macro1()
Dim chemin As String 'déclare la variable chemin
Dim fs, f, f1, fc, s 'déclare les variables fs, f, f1, fc, s
Dim ext As String 'déclare la variable ext (EXTension)
Dim deb As String 'déclare la variable deb (DEBut)
Dim fin As String 'déclare la variable fin
Dim inv As String 'déclare la variable inv (INVersion)
 
chemin = "c:\Documents\Musique"
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(chemin)
Set fc = f.Files
For Each f1 In fc
    ext = Right(f1.Name, 4) 'extrait l'extension
    deb = Split(f1.Name, " - ", -1)(0) 'extrait la première partie
    fin = Split(f1.Name, " - ", -1)(1) 'extrait la seconde partie (avec l'extension)
    fin = Split(fin, ".", -1)(0) 'extrait la seconde partie (sans l'extension)
    inv = fin & " - " & deb & ext 'definit le nom inversé
    f1.Name = inv
Next
End Sub
 

kjin

XLDnaute Barbatruc
Re : modifier des libellés dans un répertoire

Salut,
@Robert : pourquoi n'utilises tu pas toutes les méthodes du fso ?
@Mercant : ne gère pas les titres contenant Charles-Edouard Duchmol !
Code:
Sub mercant()
Dim r As String
Dim fs As Object, of As Object, f As Object, t
r = "c:\Documents\Musique"
Set fs = CreateObject("Scripting.FileSystemObject")
Set of = fs.GetFolder(r).Files
For Each f In of
    If fs.GetExtensionName(f) = "mp3" Then
        t = Split(fs.GetBaseName(f), "-")
        On Error Resume Next 'pour le cas ou il n'y a pas de tiret
        f.Name = Trim(t(1)) & " - " & Trim(t(0)) & ".mp3"
        On Error GoTo 0
    End If
Next
End Sub
A+
kjin
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : modifier des libellés dans un répertoire

Bonjour le fil, bonjour le forum,

Pour Kjin :
J'avoue que je ne maîtrise absolument pas cette méthode. J'ai un fichier Excel qui me permet de renommer des fichiers et dont j'ai récupéré les codes sur l'aide VBA. Je l'ai adapté pour Mercant...
Ne connaissait pas non plus la méthode TRIM.
Merci à toi pour ces précieuses informations...
 

mercant76

XLDnaute Impliqué
Re : modifier des libellés dans un répertoire

bonsoir Robert, Kjin

merci pour vos réponses.

j'utiliserais la macro quime sera plus simple à mettre en oeuvre.

merci d'avoir adapté une macro rien que pour moi.

j'en suis flatté et vous en remercie très sincèrement.

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 360
Membres
103 528
dernier inscrit
hplus