Comparatif ref Excel / dossier windows

Bonjour à toutes et à tous,

j'aurais besoin de vous pour une macro.

J'explique le contexte :

J'ai des fichiers excel (nomenclatures) dans lesquels j'ai en colonne B des références.

Certaines de ces références commencent par la lettre M :

image

Ensuite j'ai un dossier sur notre serveur d'entreprise dans lequel il y a des fichiers excel et pdf avec un nom commencant par la fameuse référence commençant par M.

image

Je voudrais savoir si une macro est possible afin de savoir si il existe bien les fichiers sur le serveur correspondant aux références en M de la colonne B ?

Est-ce que quelqu'un peut m'aider ?

Merci d'avance

Bonjour MLG,

En m'inspirant de ce que j'ai trouvé sur le net ici: https://fr.extendoffice.com/documents/excel/2994-excel-list-all-files-in-folder-and-subfolders.html

J'ai modifié le code VBA comme cela:

Public trouve As Boolean
Sub MainList()
Dim Ref As String
trouve = False
Ref = InputBox("Quelle référence chercher?")
'Updateby Extendoffice
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then
    MsgBox ("Vous n'avez pas selectionner de dossier. Merci de recommencer.")
    Exit Sub
End If
xDir = folder.SelectedItems(1)
Call ListFilesInFolder(xDir, True, Ref)
If trouve = False Then MsgBox ("Le fichier n'as pas été trouvé")
End Sub
Sub ListFilesInFolder(ByVal xFolderName As String, ByVal xIsSubfolders As Boolean, Ref As String)
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long

Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Application.ActiveSheet.Range("A65536").End(xlUp).Row + 1
For Each xFile In xFolder.Files
  On Error GoTo suite
  If Left(xFile.Name, InStr(1, xFile.Name, " ") - 1) = Ref Then
    trouve = True
    MsgBox ("Le fichier à été trouvé:" & Chr(13) & xFile.Path)
    Exit Sub
  End If
suite:
  On Error GoTo 0
Next xFile
If xIsSubfolders Then
  For Each xSubFolder In xFolder.SubFolders
    ListFilesInFolder xSubFolder.Path, True, Ref
  Next xSubFolder
End If
Set xFile = Nothing
Set xFolder = Nothing
Set xFileSystemObject = Nothing

End Sub
Function GetFileOwner(ByVal xPath As String, ByVal xName As String)
Dim xFolder As Object
Dim xFolderItem As Object
Dim xShell As Object
xName = StrConv(xName, vbUnicode)
xPath = StrConv(xPath, vbUnicode)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.Namespace(StrConv(xPath, vbFromUnicode))
If Not xFolder Is Nothing Then
  Set xFolderItem = xFolder.ParseName(StrConv(xName, vbFromUnicode))
End If
If Not xFolderItem Is Nothing Then
  GetFileOwner = xFolder.GetDetailsOf(xFolderItem, 8)
Else
  GetFileOwner = ""
End If
Set xShell = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
End Function

A adapter et tester

Slts,

A+

Bonjour à tous,

Une proposition via Power Query (nativement intégré à votre version Excel).

Mettre à jour l'emplacement du répertoire,
Inclure dans le tableau structuré t_Data quelques références réelles

Puis menu "Données / Actualiser tout".

Bonjour à tous

Ma modeste contribution avec un message quand trouvé, ne sachant quoi faire d'autre

Bonne soirée à tous

Bonjour Gabin37 et merci beaucoup pour votre réponse.

Alors je ne suis pas du tout expert en excel et vba, désolé.

J'ai donc copier/coller votre code dans l'éditeur VBA et créé un bouton sur ma feuille, mais lorsque je lance la macro, j'ai ce message :

image

Est ce que vous savez ce qu'il faut modifier ?

Bonjour JFL,

Merci aussi pour votre réponse.

J'ai donc intégrer mon dossier à scanner dans votre tableur :

image

Puis j'ai copier/coller mes références à chercher :

image

Mais lorsque je fais Actualiser tout, j'ai ce message d'erreur :

image

Que dois-je modifier à votre avis ?

Bonjour Patty5046,

merci beaucoup pour votre réponse. J'ai copier/coller mes références dans la colonne B

Ensuite, via la console VBA j'ai lancé la macro avec F5.

La macro se lance et j'ai une fenêtre qui m'indique chaque dossier parcouru.

Mais à la fin, je n'ai aucun résultat.

Ai-je loupé quelque chose dans ma façon de faire ?

Bonjour à tous,

Il vous faut aller modifier une option dans Power Query :

==> menu Fichier/Option/Option de requête et modifiez la "confidentialité" en choisissant "ignorer"

Re-bonjour JFL,

merci de votre réponse.

Je ne trouve pas de power query dans les compléments :

image

Bonjour de nouveau,

Power Query est nativement intégré dans Excel depuis la version 2016. Vous n'avez donc aucun complément à installer.

Pour lancer l'éditeur, et accéder aux options, menu "Données / Obtenir des données / Lancer l'éditeur Power Query..."

Ok JFL,

j'ai ENFIN compris pour le power query !!!

La macro se lance bien et il n'y a plus de mesage d'erreur.

Par contre je n'ai aucun résultat dans le 3eme onglet.

Je pensais qu'il y avait peut-être un soucis pour accéder au chemin serveur, donc j'ai testé en local, mais toujours rien dans les résultats :

image image image

La macro pourtant tourne bien, car il y a bien la notification qui apparait en bas à gauche du tableur.

Une idée de ce qu'il faut que je fasse ?

Bonjour MLG,

Suite à ma proposition de solution:

Essayes de rajouter cette ligne en début de code:

Dim folder As Object

A+

Bonjour de nouveau,

Par contre je n'ai aucun résultat dans le 3eme onglet.

C'est moi qui suis fautif !

Je n'ai pas assez prêté attention aux noms de fichiers sur votre serveur !

Ces noms correspondent, outre une éventuelle extension différente, à "Code Article" & " - " & "Désignation" ?

Pas de soucis JFL,

je n'étais sûrement pas assez précis dans mon descriptif surtout.

Dans une nomenclature, il y a en colonne A, le Code Article (référence) et en colonne B, la désignation de la pièce.

Comme ci-dessous :

Code ArticleDESIGNATIONQTEDESIGNATION 1DESIGNATION 2Indice
1M183708404-0017_fGIGA - GOUSSET DOUBLE HPL DROIT PF TA124f

J'ai donc besoin de vérifier si je retrouve des documents sur le serveur qui commencent par le Code Article.

Ces documents peuvent être des fichiers Excel, PDF ...

La synthaxe de ces fichiers est "Code Article" "espace" "tiret" "espace" "Designation" :

M183708404-0017_f - GIGA - GOUSSET DOUBLE HPL DROIT PF TA

La recherche doit s'effectuer dans les dossiers et sous dossiers du chemin que l'on donne.

Bonjour de nouveau,

Une proposition amendée :

Alors là, JFL, ça fonctionne du tonnerre.

C'est rapide en plus.

Chapeau l'artiste !

Un GRAND MERCI.

En étant un peu gourmand, est-il possible d'avoir une colonne avec l'extension de fichier ?

Bonjour de nouveau,

Comme ceci ?

C'est PARFAIT JFL !!!

Encore une fois, un TRES GRAND MERCI.

Vous me facilitez la tâche dans ce contrôle.

Je vais ajouter quelques formules excel de base pour affiner le principe et les résultats.

Et je vais surtout essayer de comprendre ce que vous avez programmé pour ma culture personnelle.

Je vous souhaite un bonne journée et à bientôt peut-être

Bonjour de nouveau,

Je vous remercie de ce retour enthousiaste !

Et je vais surtout essayer de comprendre ce que vous avez programmé pour ma culture personnelle.

Appropriez-vous Power Query ! Bonnes découvertes.

Rechercher des sujets similaires à "comparatif ref dossier windows"