Fermer 1 classeur en fermant l'autre et vice versa!

  • Initiateur de la discussion Initiateur de la discussion pacoako
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pacoako

XLDnaute Occasionnel
Bonjour à tous!

J'ai 2 fichiers excels. Le principal se nomme Agent Recouvrement.xls et l'autre Tableau.xls et j'essaie de trouver une façon de faire ferme le fichier Tableau lorsque Agent se ferme ou vice versa....

Ma technique semble fonctionner seulement lorsqu'on ferme les classeurs avec le "x" des classeurs, mais lorsqu'on utilise le gros "X" d'Excel le classeur Agent reste toujours ouvert... en fait on dirait que lorsque je "Run" une macro contenue dans le fichier Tableau à partir du fichier Agent, cette macro est exécuté mais l'évenement (Agent_BeforeClose) semble s'arrêter.

voici mon code

=========== FICHIER TABLEAU======================


Code:
Tableau.xls - MODULE 1
Public ClosedFromAgent As Boolean

Sub ForceClose()

ClosedFromAgent = True
ThisWorkbook.Close True

End Sub
Code:
Tableau.xls - ThisWorkbook

Private Sub Workbook_Open()

ClosedFromAgent = False

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ClosedFromAgent = True Then

    MsgBox "Agents a demandé de fermer Tableau"
    
    Sheets(2).EnableCalculation = True
    Sheets(2).PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
    Sheets(2).Calculate
    Sheets(2).EnableCalculation = False

Else
    MsgBox "Tableau se ferme de lui-même"
    Application.Run "'Agents Recouvrement.xls'!ForceClose"
    Sheets(2).EnableCalculation = True
    Sheets(2).PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
    Sheets(2).Calculate
    Sheets(2).EnableCalculation = False
    ThisWorkbook.Save
    ThisWorkbook.Saved = True
End If

End Sub=========== FICHIER AGENTS RECOUVREMENT======================

Code:
Agents Recouvrement.xls - MODULE1
Sub ForceClose()

ClosedFromTableau = True
ThisWorkbook.Close True

End Sub
Code:
Agents Recouvrement.xls - ThisWorkBook

Sub Workbook_Open()

ClosedFromTableau = False

end sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If ClosedFromTableau = True Then
    MsgBox "Tableau a demandé de fermer Agent"
    Quitter
Else
    MsgBox "Agents se ferme de lui-même"
    Application.Run "'Tableau.xls'!ForceClose"
    Quitter
End If

End Sub


Merci pour votre temps!! A++ & bonne soirée!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
734
  • Question Question
Réponses
10
Affichages
904
Réponses
8
Affichages
1 K
Réponses
3
Affichages
951
Retour