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======================
Merci pour votre temps!! A++ & bonne soirée!
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!