Renommer des fichiers qui contiennent un string specifique

Bonjour,

Dans un dossier sur mon C:\ j'ai des fichiers. Je souhaiterais renommer specifiquement les fichiers .csv qui contiennent dans leur nom le mot "blabla"

Pourriez vous m'aider à ecrire ce bout de code

Merci d'avance

C.

Le temps de récupérer des bouts de code déjà écrits ...

Salut,

Je me suis aussi intéressé au problème. Comme tu ne dis pas comment tu veux renommer tes fichiers, je te montre une possibilité parmi d’autres.

Option Explicit
Sub blabla()
Dim Fichier_traité As String, Chemin As String, i As Byte, j As Integer

Application.ScreenUpdating = False

Chemin = "C:\"
Fichier_traité = Dir(Chemin & "*.csv")

Do While Fichier_traité <> ""

    On Error Resume Next
    i = WorksheetFunction.Search("blabla", Fichier_traité)
    If i > 0 Then
        j = j + 1
        Name Chemin & Fichier_traité As Chemin & "Nouveau nom " & j & ".csv"
    End If

    i = 0

Fichier_traité = Dir
Loop

End Sub

Amicalement

Je m'incline devant Yvouille

Plus généralement, j'avais ceci ...

Re bonjour,

Merci pour votre aide mais il faut que je sois beaucoup plus précise car je me suis mal exprimée et en suis desolée.

J'ai un répertoire, dedans des fichiers avec diverses extensions.

Pour mes fichiers .csv:

On part de xxxxxxxblabla.csv

On veut xxxxxxx.csv

donc c'est juste supprimer une partie du string blabla

Merci d'avance si vous avez des idées

C.

Avec ma proposition, tu lis d'abord le contenu de ton dossier

ensuite tu crées la colonne B en faisant :

=SUBSTITUE(A2;"blabla";"")

que tu tires jusqu'en bas

et ensuite tu lances la macro pour renommer.

Merci Steelson

Je recherchais une automatisation totale car le but final est de lancer un scheduler pour que la macro s'auto execute toutes les x min

Merci pour ton aide

C.

Si tu confirmes que la formule est bien celle proposée et que "blabla" est bien ce que tu recherches, je peux enchaîner les 3 actions, voire même mettre blabla en paramètre. Je vais voir demain matin ...

Bonjour tout le monde,

Choupinette,

Il ne serait pas si difficile de modifier mon code afin que la partie blabla soit supprimée de tous les noms de fichiers d’un répertoire. D’ailleurs, si c’était nécessaire de visiter les sous-répertoires de ce répertoire principal, ce serait également possible.

Mais le code serait assez différent selon que blabla comporte 6 lettres ou un autre nombre, qu’il soit placé n’importe où dans la chaine ou plutôt toujours au début, toujours à la fin ou toujours à une position identique. Peux-tu donc m’en dire plus ? Peux-tu indiquer précisément ce blabla ? Si nécessaire en privé.

A te relire.

La solution Yvouille est en effet plus simple que la mienne pour une automatisation complète. D'autant que le nouveau nom dans ce cas peut être déduit de l'ancien par suppression de blabla.

        Name Chemin & Fichier_traité As Chemin & WorksheetFunction.Substitute(Fichier_traité, "blabla", "")

non testé

Mais est-ce que blabla est le bon terme ? ou ne cache-t-il pas quelque chose de plus complexe et évolutif ? Dans ce cas il faudra aussi passer par des expressions régulières.

Rechercher des sujets similaires à "renommer fichiers qui contiennent string specifique"