VBA cherche le fichier Excel dans un dossier

Bens7

XLDnaute Impliqué
Bonjour a tous !!
je vous met en pieces l'aboresence de mon dossier
dans le fichier BD.xlsm:
je cherche a afficher le chemin du fichier excel present dans le dossier RESEAUX et portant le nom dans la collone A
pour l'instant j;ai un code mais il faut que je cherche manuellement et je ne peux que reference que un fichier en gros j'aimerais en appuyant sur le bouton que les 3 chemin de fichier s'affiche

PS: il est possible que je creer dans le futur des nouveaux dossier donc la recherche ce fait en veriter dans RESEAUX:
...\RESEAUX\non du PC\nom du comercial\comercial.xlsm

Voila merci a tous !
 

Pièces jointes

  • SOCIETE.zip
    32.5 KB · Affichages: 25

CHALET53

XLDnaute Barbatruc
Re : VBA cherche le fichier Excel dans un dossier

Bonjour,

A partir d'une proposition récupérée sur ce forum

Si tes fichiers sont toujours dans le sous répertoire RESEAUX, tu sais dans quel répertoire se situe ce sous répertoire.

Tu enregistres ce répertoire en feuille Param (dans la cellule nommée chemin)
Tu lances la procédure

a+
 

Pièces jointes

  • bens.xlsm
    24.8 KB · Affichages: 33
  • bens.xlsm
    24.8 KB · Affichages: 37
  • bens.xlsm
    24.8 KB · Affichages: 33

Bens7

XLDnaute Impliqué
Re : VBA cherche le fichier Excel dans un dossier

projet ou Biblihoteque Introuvable..
mais desole je n;ai rien comprie je ne cherche pas les chemin des sous repertoire je cherche le chemin des fichiers excel qui corespondent au nom dans la BD
Exemple pour serge :
C:\Users\BEN\Desktop\FORUM\SOCIETE\RESEAUX\PC6\Serge\Serge.xlsm
 
C

Compte Supprimé 979

Guest
Re : VBA cherche le fichier Excel dans un dossier

Bonjour le fil

Comme j'ai bidouillé le code suivant, tu peux tester, il faut lancer la Sub "Lancer"
VB:
Sub Lancer()
  Dim Cel As Range, sPath As String
  Dim ListFic As New Collection, Nb As Integer
  ' Dossier de départ
  sPath = ThisWorkbook.Path & "\RESEAUX\"
  ' Piur chaque cellule remplie de la colonne a
  For Each Cel In Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row)
    If Cel <> "" Then
      ChercheFichier sPath, Cel.Value, ListFic
      For Nb = 1 To ListFic.Count
        Cells(Cel.Row, 1 + Nb).Value = ListFic(Nb)
      Next Nb
      ' Vider la colection
      Set ListFic = New Collection
    End If
  Next Cel
End Sub


Sub ChercheFichier(dossierDépart, nomFichier, Retour As Collection)
'renvoie dans la variable "retour" le chemin complet de "nomFichier"
'cherché dans "dossierDépart" (antislash final requis)
  Dim fso, Fichiers, Fichier, Dossier, Racine, SousDossiers


  Set fso = CreateObject("Scripting.FileSystemObject")
  Set Racine = fso.GetFolder(dossierDépart)
  Set Fichiers = Racine.Files
  For Each Fichier In Fichiers
    If UCase(Fichier.Name) Like UCase(nomFichier & ".*") Then
      On Error Resume Next
      Retour.Add Fichier.Path, Fichier.Path
      On Error GoTo 0
    End If
  Next
  ' Récursivité
  Set SousDossiers = Racine.SubFolders
  For Each Dossier In SousDossiers
    ChercheFichier Dossier, nomFichier, Retour
  Next
End Sub

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 220
Membres
103 158
dernier inscrit
laufin