VBA Fermer plusieurs classeurs

llecrimequitue

XLDnaute Nouveau
Bonjour tout le monde,

Voilà j'ai un petit problème : j'ai une macro dans un classeur qui ouvre plusieurs autres classeurs. J'aimerais fermer les autres classeurs quand je ferme le classeur principal. J'ai essayé le code suivant :
Code:
Private sub workbook_beforeclose()
for each classeur in workbooks
       if classeur.name = 'Tampon' then
                claseur.close savechanges:=false
       elseif classeur.name = 'Historique' then
                classeur.close savechanges:=false
       end if
next
ens sub

En fait ce code marche bien quand il est associé à un bouton, mais pas quand j'utilise la croix de la fenetre pour fermer.
Si quelqu'un à un élément de réponse, je suis preneur.
Merci d'avance
 

Bricofire

XLDnaute Impliqué
Bonjour le fil, :)

Dan a raison, (pas surprenant...)

Personnellement, je me sers du fait pour détourner l'action de la croix vers une macro que je place dans un module et ou du coup je fais ma cuisine perso.Cette procédure pouvant être appellée à volonté d'un ou plusieurs boutons, l'idée étant de rejeter toute action de fermeture vers cette macro unique !

Dans le code joint c'est fermtout qui est dans un module et qui sert ici à gagner de la place en masquant des barres tout en s'assurant de les rétablir à la fermeture. Ceci volontairement limitée aux berres qu'on rétablit failement avec option sans toucher au reste au cas où....



Private Sub Workbook_BeforeClose(Cancel As Boolean)
Decision = False
Call Fermtout
End Sub



Sub Fermtout()
With Application
.DisplayFormulaBar = True
.DisplayStatusBar = True
.DisplayFullScreen = False
End With
Workbooks('Nomduclasseur.xls').Close
With Application
.DisplayFormulaBar = False
.DisplayStatusBar = False
End With
End Sub



cordialement,

Bfr


Oups, collision Bebere aussi avait raison :)

Message édité par: bricofire, à: 30/07/2005 12:30
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 896
Membres
103 404
dernier inscrit
sultan87