Macro : Chercher les bons fichiers de liaisons.

Macro : Chercher les bons fichiers de liaisons. - VB/VBA/VBS - Programmation

Marsh Posté le 16-06-2009 à 20:44:01    

Bonjour à tous,
 
J'ai un fichier Excel avec plusieurs fichiers en liaisons situés dans un répertoire bien distinct.
Voici ma macro :

Code :
  1. Private Sub Workbook_Open()
  2. Const Rep = "C:\Mon dossier\" ' le répertoire contenant les fichiers..
  3. Dim TheFile As String
  4. Application.DisplayAlerts = False
  5. TheFile = Dir(Rep & "*.xls" )   'Listing des fichiers Excel...
  6. While TheFile <> "" 'Tant que non vide
  7. Workbooks.Open (Rep & TheFile) 'Ouverture du fichier
  8. ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources 'Mise à jour du lien
  9. TheFile = Dir 'Fichier suivant
  10. Wend
  11. Application.DisplayAlerts = True
  12. End Sub


 
Elle se lance à chaque fois que j'ouvre mon fichier a actualisé, mais malheureusement ici elle ouvre tous les fichiers du répertoire "C:\Mon dossier\ " or je voudrais qu'elle ouvre seulement les fichiers dont j'ai besoin pour actualisé mon fichier Excel.
 
Est-ce que c'est possible?
 
Merci à vous

Reply

Marsh Posté le 16-06-2009 à 20:44:01   

Reply

Marsh Posté le 17-06-2009 à 08:17:22    

Dans le While tu fais un

 

If(InStr(TheFile,"toto" )<>0) Then
  Workbooks.Open (Rep & TheFile)
  ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
Endif
TheFile = Dir

 

Pour par exemple ouvrir tous les fichiers dont le nom contient "toto".
Mais tu fais ce que tu veux dans le If.


Message édité par Deamon le 17-06-2009 à 08:18:27
Reply

Marsh Posté le 17-06-2009 à 08:37:23    

Merci beaucoup Deamon, ça marche du tonnerre avec ton code, manque plus qu'à fermer les fichiers juste après...

Reply

Marsh Posté le 23-06-2009 à 13:44:15    

PAULOM a écrit :

Merci beaucoup Deamon, ça marche du tonnerre avec ton code, manque plus qu'à fermer les fichiers juste après...


 
Workbook.close devrait être suffisant...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed