Macro ouvrir un fichier

Fermé
mila - 26 mai 2011 à 14:15
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 26 mai 2011 à 14:29
Bonjour,

Je vous sollicite car là je suis bloquée et c'est vraiment important.
Voilà j'ai plusieurs fichiers excel situés dans dans un sous dossier : "Y:\Contrôle de gestion\comptes\comptes_clients\2010".
Dans ce dossier, les fichiers sont nommés ainsi : "CHR 375 - nomcontrat - PB2009".
Ce qu'il faut savoir est que le nombre après CHR (ex: 375) varie tout le temps.

Je veux créer une macro qui me permette d'ouvrir un fichier excel sachant que je connais le nom du contrat (nom) et l'année (N).

J'ai déjà fait quelques tentatives mais ça ne fonctionne pas.
Ex:

On Error Resume Next
Set FichierSch = Application.FileSearch
With FichierSch
LookIn = "Y:\Contrôle de gestion\comptes\comptes_clients\" & N & "" 'Dossier dans lequel chercher les fichiers
Filename = "*.xls" 'Extension des fichiers a trouver
If Filename <> "" Then 'S'il en trouve
For x = 1 To FoundFiles.Count
If Right(Left(FoundFiles(x), Len(FoundFiles(x)) - Len(LookIn)), 1) = "" & nom & " - PB" & N - 1 & "" Then
Workbooks.Open Filename:=FoundFiles(x)
End If
Next x
Else
i = 0
While (i <= garantie)
Cells(ligne_1 + 44, colonne_1 + 1 + i) = 0
i = i + 1
Wend
End If
End With


Si quelqu'un peut m'aider ça serait super gentil !

Cordialement

1 réponse

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 153
26 mai 2011 à 14:29
Bonjour,

essaie ca :


Sub ListeFichier()

Dim objFSO, objDossier, objFichier, objResultat
Dim Repertoire, NomFichierTxt


Repertoire = "Y:\Contrôle de gestion\comptes\comptes_clients\2010"

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDossier = objFSO.GetFolder("F:\Nouveau dossier\perso\secrete arlette")

For Each objFichier In objDossier.Files
If Right(Left(objFichier, Len(objFichier) - Len(objFichier)), 1) = "" & nom & " - PB" & N - 1 & "" Then
Workbooks.Open Filename:=objFichier

End If



Next



Set objDossier = Nothing
Set objFSO = Nothing

End Sub

Je l'ai trouvé sur internet et l'ai un peu adapté à ton cas.

Définis ton répertoire, ca va rechercher tous les fichiers de ton répertoire et celui qui correspond à tes critères (que j'ai pris sur ta macro de base), ca l'ouvre.
0