ouvrir et fermer plusieurs fichiers excel

  • Initiateur de la discussion ced and
  • Date de début
C

ced and

Guest
bonjour à tous,

nouveau sur ce site je ne sais pas encore comment trouver l'info sur ce site. A priori ma demande n'a pas été encore posée. je vous explique mon cas :

je travaille sur la réalisation d'un tableau de bord à partir duquel il existe des liaisons vers d'autres fichiers excel servant de base de données et de travail pour les données de mon fichier central. Aussi j'ai besoin de créer une macro qui ouvre tous les fichiers nécessaires (en cliquant sur un bouton par exemple), et de même un bouton pour fermer et enregistrer tous les fichiers modifiés. Sans bien entendu que cela me bloque VBA si jamais on clique à nouveau sur le bouton "ouvrir tous les fichiers" ou "fermer tous les fichiers".
Pourriez vous m'aider dans la conception et la réalisation de ce code; En mode macro auto cela ne fonctionne pas très bien.
je vous remercie.

bonne soirée
 
J

jacquesderyes

Guest
Bonsoir ced and

Une solution à ton problême:
Sub ouvrir_fichiers()
On Error Resume Next 'au cas ou le fichier serait déjà ouvert
Workbooks.Open filename:="c:\data\monfichier1.xls", _
UpdateLinks:=True
On Error Resume Next
Workbooks.Open filename:="c:\data\monfichier2.xls", _
UpdateLinks:=True
On Error Resume Next

Workbooks.Open filename:="c:\data\monfichier3.xls", _
UpdateLinks:=True

Tableau de bord.Activate 'te ramene sur je fichier de départ à partir duquel la macro a demarré


Pour fermer tous les fichiers sans fermer le fichier de base(tableau de bord)
For Each wb In Workbooks
If Not wb Is ThisWorkbook Then
wb.Close SaveChanges:=True 'enregistre les modifs (=False) ferme sans enregistrer
End If
Next wb

End Sub


Fais des essais celà devrait marcher.

Bien amicalement

Jacques de ryes
 
C

ced

Guest
Bonsoir jacques

je te remercie pour ton aide précieuse. Pas de problème dans la réalisation de la macro.

Seulement, je voudrais améliorer quelque peu le code de cette macro. En effet, le projet sur lequel je travaille consiste à réaliser un logiciel.
Un fichier central permet d'ouvrir tous les fichiers du dossier, d'un coup; avec des liens vers les autres fichiers. Seulement le porblème c'est que le dossier est amené à être déplacer, aussi les liens en "c:\mes documents\dossiers\logiciel..." ne correspondent plus. pourrais tu m'indiquer s'il existe un autre solution pour que les fichiers s'ouvrent qd même , stp.
Autre requête, est il possible de ne faire ouvrir le fichier que si on solicite un lien vers celui ci ? et que la macro ne plante pas quand on essait de l'ouvrir et qu'il est déjà ouvert ?

Merci
bien amicalement

ced
 

najem

XLDnaute Nouveau
Bonsoir ced and

Une solution à ton problême:
Sub ouvrir_fichiers()
On Error Resume Next 'au cas ou le fichier serait déjà ouvert
Workbooks.Open filename:="c:\data\monfichier1.xls", _
UpdateLinks:=True
On Error Resume Next
Workbooks.Open filename:="c:\data\monfichier2.xls", _
UpdateLinks:=True
On Error Resume Next

Workbooks.Open filename:="c:\data\monfichier3.xls", _
UpdateLinks:=True

Tableau de bord.Activate 'te ramene sur je fichier de départ à partir duquel la macro a demarré


Pour fermer tous les fichiers sans fermer le fichier de base(tableau de bord)
For Each wb In Workbooks
If Not wb Is ThisWorkbook Then
wb.Close SaveChanges:=True 'enregistre les modifs (=False) ferme sans enregistrer
End If
Next wb

End Sub


Fais des essais celà devrait marcher.

Bien amicalement

Jacques de ryes
salut,
j'ai la meme situation, et j'ai utilisé votre code, c'est bon. Merci.
parcontre, je ne sais pas pourquoi il m'ouvre les ficiers mais il ne me ramène pas au fichier de base qui contient la macro. peuxtu m'aider dessus SVP.
 

Discussions similaires

Statistiques des forums

Discussions
312 559
Messages
2 089 602
Membres
104 224
dernier inscrit
Brilma