Enlever début de nom

Résolu/Fermé
vieuxray - 19 déc. 2013 à 18:39
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 21 déc. 2013 à 05:23
Bonsoir a toutes et tous, Forum bonsoir



Excel 2007 VBA

A la suite d'une mauvaise manipulation sur mon fichier de vidéos, un logiciel de gestion de DVD m'a re-batptiser mes noms de films comme ci dessous

Films non triés - Film de Inconnu, en Inconnu - Tarzan.avi
Films non triés - Film de Inconnu, en Inconnu - Les bronzés.avi
Films non triés - Film de Inconnu, en Inconnu - Blanche neige.avi

Avec un petit code VBA comment supprimer (juste) cette phrase qui se trouve devant le nom du film.

(Films non triés - Film de Inconnu, en Inconnu -)

Films stocker dans répertoire sur autre Disk dur E:\Videos

Et comme la liste est longue pas envi de renommer tout un par un

Merci par avance pour votre aide

Cordialement Ray

5 réponses

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
20 déc. 2013 à 04:30
Bonjour
en VBA, en supposant que la liste commencce en A2
    For i = 2 To [A2].End(xlDown).Row
Titre = Right(Cells(i, 1), Len(Cells(i, 1)) - InStr(InStr(1, Cells(i, 1), "-", 1) + 1, Cells(1, 1), "-", 1) - 1)
Cells(i, 1) = Titre
Next
ou avec une formule excel dans la colonne B
=DROITE(A2;NBCAR(A2)-TROUVE("-";A2;TROUVE("-";A2;1)+1)-1), faire une recopie jusqu'en bas, puis un copier-collage spécial "valeur".

Bonne journée
cdlt
1
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
Modifié par pijaku le 20/12/2013 à 08:38
Salut VieuxRay,

Cette procédure boucle sur tous les fichiers d'un répertoire, et, si leur nom contient ce que tu décides, cette partie est supprimée :

Sub AppelRenomme()
'Tu peux aisément adapter la partie de texte à supprimer des noms de fichiers
RenommeFichiers "Films non triés - Film de Inconnu, en Inconnu - "
End Sub

Sub RenommeFichiers(StrEnTrop As String)
    Dim Chemin As String, Fichier As String
    Dim AncienNom As String, NouveauNom As String
    Dim objShell As Object, objFolder As Object
 
    'Définit le répertoire contenant les fichiers

    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)

    If objFolder Is Nothing Then
        MsgBox "Abandon opérateur", vbCritical, "Annulation"
    Else
        Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & "\"
    End If
 
    'Boucle sur tous les fichiers du répertoire.
    Fichier = Dir(Chemin & "*.*")
    Do While Len(Fichier) > 0
        AncienNom = Fichier
        If Left(AncienNom, Len(StrEnTrop)) = StrEnTrop And Len(AncienNom) > Len(StrEnTrop) Then
            NouveauNom = Right(AncienNom, Len(AncienNom) - Len(StrEnTrop))
            'Renomme le fichier
            Name AncienNom As NouveauNom
        End If
        Fichier = Dir()
    Loop
End Sub


Cordialement,
Franck
'Pensez aux balises de code : bouton <>, 
'Précisez le langage dans la liste déroulante. Ex : code java
1
Salut Frenchie83

Merci beaucoup pour ta réponse et le chti code.

Mais je me suis sans doute mal exprimé, désolé.

La liste ne se trouve donc pas dans un programme Excel.

C'est pour cela que je souhaiterai faire juste un petit code qui rebaptiserai convenablement la liste a ma place.

Ma liste de films se trouve stocker dans le répertoire (E:\Videos) sur mon autre disk dur.

Il me faut donc intervenir sur la liste elle mème dans le répertoire (E:\Videos)

Le but est de supprimer la phrase qui a été rajouter devant le nom d'origine de mes films par le logiciel a cause d'une erreur de manipulation de ma part.

Maintenant je me retrouve avec une liste rebaptiser exactement comme ci-dessous
Donc effacer uniquement ce qui est en GRAS les 2 tirets et la virgule

Films non triés - Film de Inconnu, en Inconnu - Tarzan.avi
Films non triés - Film de Inconnu, en Inconnu - Les bronzés.avi
Films non triés - Film de Inconnu, en Inconnu - Blanche neige.avi

Je te souhaite une excellente journée et merci

Cordialement Ray
0
Salut pijaku

Merci pour ta réponse et le petit code, c'est sympa

j'ai une petite erreur quand je lance la macro.

Erreur d'execution 53

Fichier introuvable

la ligne de code ci dessous se mets en jaune

Name AncienNom As NouveauNom

je ne vois pas pourquoi

Merci a toi et une bonne journée

Cdlt Raymond
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
20 déc. 2013 à 09:31
Peux tu essayer en pas à pas?
0
Ok je fait l'essai pas a pas

a mon retour quelques courses a faire merci

Raymond
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
20 déc. 2013 à 09:55
Comme quoi, il faut toujours penser à tester un code avant de répondre...
Excuse moi, je ne l'ai pas fait.
Mea Culpa, Mea Culpa, Mea Culpa...

Il faut remplacer la ligne
 Name AncienNom As NouveauNom 
par :

Name Chemin & AncienNom As Chemin & NouveauNom



J'ai également omis de citer mes sources... C'est par ICI.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonsoir pijaku

Désoler pour la réponse tardive des obligations non prévues.

Bon j'ai essayer avec la modification et c'est bon toute ma liste est renommer

en un temps record nickel

je te remercie beuacoup pour ton aide et ton petit code m'a vraiment bien aider et fait gagner du temps

Encore merci je te souhaite de bonnes fètes de fin d'année et j'espère que le père noël va te gater énormément.

bon W-end également et a une prochaine fois sans doute

merci pour ton savoir partagé bien cordialement Raymond
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
21 déc. 2013 à 05:23
De rien Vieux Ray,
Bon week end et bonnes fêtes à toi et ta famille.
A+
0