XL 2019 Créer une macro de vérification de présence fichiers

blingo67

XLDnaute Nouveau
Bonjour à tous,

Je souhaite créer une macro qui vérifie la présence d'un fichier dans un répertoire.
Le but étant de vérifier que j'ai bien exporté en pdf tous les plans de ma nomenclature.

Exemple :

Dans la colonne A de ma nomenclature excel, j'ai les pièces, qui ont une ref ( ex: ABC123)
Dans un dossier, par exemple C:\PROJET 1\PLANS, j'ai tous les plans au format pdf qui sont nommés ABC123.pdf, etc

Y a t-il possibilité de créer une macro qui vérifie cela ? Par exemple en mettant en vert/rouge la case du plan, ou en mettant oui/non dans une colonne 'présent' ou autre.

Je suis pas expert en VBA, mais si j'ai des pistes d'idées cela m'aiderait déjà beaucoup

En espérant avoir été clair dans ma demande, merci d'avance à ceux qui y contribueront.
 
Solution
Bonjour Blingo,
Une petite fonction perso simple :
VB:
Function FichierExiste(Chemin As String, Fichier As String)
    If Right(Chemin, 1) <> "\" Then Chemin = Chemin & "\"
   If Len(Dir(Chemin & Fichier)) > 0 Then
      FichierExiste = True
   Else
      FichierExiste = False
   End If
End Function
Syntaxe : =FichierExiste(Chemin;Fichier) par ex :
=FichierExiste("C:\Users\PC_PAPA\Desktop";"5parmi16.xlsm")
renvoie VRAI si le fichier existe, FAUX s'il n'existe pas.
On peut l'intégrer dans un SI :
Code:
=SI(FichierExiste("C:\Users\PC_PAPA\Desktop";"5parmi16.xlsm");"OUI";"NON")

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Blingo,
Une petite fonction perso simple :
VB:
Function FichierExiste(Chemin As String, Fichier As String)
    If Right(Chemin, 1) <> "\" Then Chemin = Chemin & "\"
   If Len(Dir(Chemin & Fichier)) > 0 Then
      FichierExiste = True
   Else
      FichierExiste = False
   End If
End Function
Syntaxe : =FichierExiste(Chemin;Fichier) par ex :
=FichierExiste("C:\Users\PC_PAPA\Desktop";"5parmi16.xlsm")
renvoie VRAI si le fichier existe, FAUX s'il n'existe pas.
On peut l'intégrer dans un SI :
Code:
=SI(FichierExiste("C:\Users\PC_PAPA\Desktop";"5parmi16.xlsm");"OUI";"NON")
 

blingo67

XLDnaute Nouveau
Merci sylvanu pour ta réponse rapide !

Cela fonctionne, cependant je n'arrive pas à l'appliquer à mon cas concret :

Ma pièce s'appel "ABC123" dans ma nomenclature, mais le fichier dont je souhaite vérifier la présence s'appelle "ABC123_piece_1.pdf"

As-tu une parade pour utiliser quand même la fonction ? Par exemple si je cherche ce plan dans windows je taperais "ABC123*.pdf". Y a-t-il un équivalent dans excel ?

Merci beaucoup en tout cas !
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Vous devriez essayer. :)
Par ex :
1657636356628.png

Avec une "*" ça marche.
Mais attention, avec "ABC123*.pdf" seront reconnus "ABC123_piece_1.pdf" ou "ABC1234_piece_1.pdf", ou "ABC123_piece_5.pdf"
 

Discussions similaires

Réponses
11
Affichages
207