VBA - ouverture et fermeture de plusieurs fichiers

bonjour le forum,

J'aimerais pouvoir ouvrir en vba plusieurs fichiers dont une parti du nom des ces fichiers est le même.

ex : nom de fichier entier : 201501balance001

Les fichiers se trouve tous au même endroit : Y:\Coge\INDICATEURS 2015

Je souhaiterais donc ouvrir tous les fichiers commençant par 201501balance car seul les 3 derniers chiffres changent.

ex : ouverture des fichiers 201501balance001+201501balance006+201501balance022 ...etc

Est ce possible ?

Merci d'avance.

ety

Personne pour m'aider .....

J'ai trouver le code suivant :

Sub test()

Dim MonRepertoire As String, fso As Object, f As Object, i As Integer

Set fso = CreateObject("Scripting.FileSystemObject")

MonRepertoire = "Y:\Coge\PROCEDURES\INDICATEURS 2013\"

For Each f In fso.GetFolder(MonRepertoire).Files

If Left(f.Name, 6) = "201501" Then Workbooks.Open MonRepertoire & f.Name

ActiveWindow.Close savechanges = False

Next f

End Sub

C'est quasiment ce que je cherche mais il me ferme tous mes fichiers ouverts alors que je veux garder le fichier suivant ouvert :

" projet controle cloture.xlsm".

si quelqu'un peux m'aider ??

Merci

ETY

bonjour,

Essaie en remplaçant

ActiveWindow.Close par ActiveWorkbook.Close

A+

merci galopin01

mais il me ferme toujours mon fichier "projet controle cloture.xlsm"

Le problème c'est que tu me dis pas tout...

Ce bout de code à lui tout seul ne vaut pas un clou... sauf si tu te contentes de faire des ouvertures et que tu as quelque part ailleurs un autre code pour traiter les fichiers que tu as ouverts.

Moi j'ai supposé que tu avait glissé une instruction quelcongue sur la ligne ou j'ai mis des ? ? ? ?

Sub test()
Dim MonRepertoire As String, fso As Object, f As Object, i As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
MonRepertoire = "Y:\Coge\PROCEDURES\INDICATEURS 2013\"
For Each f In fso.GetFolder(MonRepertoire).Files
If Left(f.Name, 6) = "201501" Then Workbooks.Open MonRepertoire & f.Name
? ? ? ? ? ? ?
ActiveWindow.Close savechanges = False
Next f
End Sub

parce que ouvrir des fichiers pour les refermer aussitôt après ça n'a aucun sens....

Si c'est bien ça, c'est que j'ai bien regardé dans ma boule de cristal... donc tu peux aussi essayer de remplacer

ActiveWindow.Close savechanges = False par

Workbooks(f.Name).Close savechanges = False

Et si en dernier ressort ça ne marche pas tu essaies de développer un peu plus ton problème parce que avec juste un bout de macro pécho dieu sait ou... c'est pas intuitif de déduire ce que tu fais réellement...

A+

merci galopin pour ces précisions.

J'ouvre bien ces fichiers pour les refermer aussitot car j'ai des formules en lien avec ces fichiers qui ne se mettent pas à jour.

Du coup, juste en les ouvrant, mes formules se mettent à jour.

Si tu à une autre solution, je suis preneur.

En tout cas avec ta solution : Workbooks(f.Name).Close savechanges = False, j'ai une erreur d'execution 9 l'indice n'appartient pas à la selection.

Merci pour le temps que tu m'accorde.

ety

Oui je n'avais pas pensé que tu voulais juste faire une mise à jour... En tout cas je n'ai pas de solutions alternative.

Peut être est-ce lié à l'utilisation de cette routine (fso) je ne sais pas... Etant un mécréant de basse obédience (autodidacte), je n'utilise jamais cette tournure qui est plutôt l'apanage des développeurs multi-langages... Il est possible qu'ainsi déclaré Excel ne voit pas le classeur dans la collection des Workbooks ouverts...

Si tu acceptes le débogage et que tu entres :

Debug.print f.name

dans la fenêtre d'exécution de VBA. Qu'est-ce que ça te renvoie ?

Peut-être un développeur plus affuté saura -t-il dénouer ce problème.

A+

merci galopin01.

moi, j'ai juste trouvé un code qui se rapproche de ce que je voulais faire et j'essai de l'adapter.

Si tu as une autre solution totalement différente pourquoi pas je ne suis pas fermé.

En tout cas merci d'avoir essayer.

Cette mise à jour de formule avec liens vers ces fichiers me pose un sacré souci.

Merci

ety

Rechercher des sujets similaires à "vba ouverture fermeture fichiers"