Enlever début de nom

Résolu
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

  1. 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
    1. Modérateur
      De rien Vieux Ray,
      Bon week end et bonnes fêtes à toi et ta famille.
      A+
  2. 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
    1. Modérateur
      Peux tu essayer en pas à pas?
    2. Ok je fait l'essai pas a pas

      a mon retour quelques courses a faire merci

      Raymond
    3. Modérateur
      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.
  3. Modérateur
    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
      1. 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