Recherche d'une chaine de caractere dans un nom de fichier

Bonjour,

Je dispose de toute une flotte d'engins et véhicules (750 environ) dont je dois organiser le tri des différents documents que j'ai numérisé en PDF (copie de carte grise, attestation d'assurance...).

Sur le serveur (TSE), il y a un dossier

c:/MATERIEL/XXXXX/DOCUMENTS/

Les XXXXX représentent la référence et donc autant de dossier XXXXX que de véhicules.

J'ai réalisé une macro qui permet de vérifier si le fichier existe pour chaque document et me renvoi VRAI le cas échéant.

Elle fonctionne sous conditions que le fichier soit nommé d'une manière précise (par exemple "Carte grise.pdf et la macro recherche le fichier "Carte grise.pdf).

Cependant, certains documents peuvent s'appeler "Carte grise ancienne plaque.pdf" ou "Carte grise nouvelle plaque.pdf"...

Aussi, je me demandais s'il existait une possibilité de chercher une chaine de caractere dans un nom de fichier ?

Par exemple je demanderais à ma fonction de renvoyer VRAI si dans le dossier concerné il y a un fichier dont le nom contient "carte grise"...

Merci pour votre aide éventuelle...

Bonjour,

Au lieu de faire ceci :

If nomFichier = "Carte Grise" Then

tu écris ceci :

If nomFichier Like "*Carte Grise*" Then

Bonjour,

Tout d'abord merci pour cette réponse et la rapidité à laquelle elle m'a été apportée est tout à fait remarquable.

Par contre, et par ma faute, elle ne correspond pas exactement à mon cas de figure. J'aurais du joindre un document dès le début (et m'excuse de ne pas l'avoir fait).

Je vous joint un document test dans laquelle se trouve ma fonction afin que ma demande soit plus claire.

Je précise que mon niveau "excel" est plutôt faible surtout en VBA.

L'idée reste la même, c'est-à-dire la possibilité de rechercher une chaine de caractère dans un nom de fichier. Le point intéressant concernera les contrôles techniques car si la recherche par chaine est possible, je pourrais donc organiser une recherche affinée par année.

Merci pour votre aide.

238test.xlsm (47.80 Ko)

Bonjour,

Essaye cette fonction :

code VBA :

Function FichierExiste(Rng As Range, Rep As String) As Boolean
Dim NomFic As String
NomFic = "C:\MATERIEL\DOCUMENTS\" & Rng.Value & Rep
FichierExiste = Dir(nomfich) <> ""
End Function

Dans les cellules :

en B2 : =FichierExiste(A2;"\Carte grise.pdf")

en C2 : =FichierExiste(A2;"\Montage carrosserie.pdf")

etc...

Rechercher des sujets similaires à "recherche chaine caractere nom fichier"