Ouvrir un fichier qui contient "........"

Salut à tous !

Je souhaite ouvrir un fichier dont le nom varie chaque semaine sur l'autre...

Et je voudrais connaître la macro qui va me permettre d'ouvrir ce fichier chaque semaine sans avoir à changer le code...

Le nom du fichier contient "clients" mais se termine selon la semaine par "012019.xlsxm", "022019.xlsxm"... etc.

nom du fichier => clients.012019.xlsxm

de plus je souhaite un message qui dit que si la macro ne trouve pas le fichier qui contient "client" alors apparait "fichier non trouvé"

le fichier est dans le dossier document "Marge" situé dans mon bureau

j'ai essayé le programme ci-après avec difficulté :

Sub infonewb()

On Error Resume Next

Set FichierSch = Application.FileSearch

With FichierSch

.LookIn = "C:\bureau\Marge" 'Dossier dans lequel chercher tes fichiers

.Filename = "*.xlsm" 'Extension des fichiers a trouver

If .Execute > 0 Then 'S'il en trouve

For x = 1 To .FoundFiles.Count

If InStr(1,.FoundFiles(x),"client" )<>0 Then

Workbooks.Open Filename:=.FoundFiles(x)

End If

Next x

Else

MsgBox ("pas de fichier excel trouvé" )

End If

End With

End Sub

Je vous remercie beaucoup !

Bonjour,

Un essai ... code de GTO avec une légère adaptation ...

Option Explicit

'''' from  GTO on http://www.vbaexpress.com/forum/showthread.php?44889-Solved-replacement-for-Application-FileSearch&p=313680&viewfull=1#post313680

Private Sub UserFo()
  searchSub "C:\Users\" & Environ("username") & "\Desktop\Marge\", "client*.xlsm"
End Sub

Private Sub searchSub(strDir As String, strSearch As String)
Dim fs As String
Dim X As Integer

fs = Dir(strDir & Application.PathSeparator & strSearch)

If fs <> "" Then
   Do While fs <> ""
      If fs = strSearch Then
            'Skips Consolidating File
      Else
         Workbooks.Open Filename:=strDir & fs
      End If
      fs = Dir
   Loop
Else
   MsgBox "There were no files found."
End If
End Sub

ric

Slt onyirimba,

à tester:

Sub ouvrirfichier()
Dim sFound As String

Path = "C:\bureau\Marge"
sFound = Dir(Path & "\client*.xlsm")
If sFound <> "" Then
    Workbooks.Open Filename:=Path & "\" & sFound
Else
MsgBox ("pas de fichier excel trouvé")
End If
End Sub

Bonjour,

Je vous remercie beaucoup.

Je regarde

Rechercher des sujets similaires à "ouvrir fichier qui contient"