XL 2010 Mise à jour de plusieurs Classeurs Excel xlsx par un classeur xlsm

AlainSAM1982

XLDnaute Nouveau
Bonjour,

Je cherche une façon de mettre à jour mes différents classeurs Excel à partir d'un classeur de macro. Jusqu'à présent, j'ai trouvé 2 façons possibles, mais elles ne sont pas optimales.

La première consiste à mettre le code de ThisWorkbook dans Workbook_Deactivate. Ça fonctionne bien, par contre, lorsque mon usagé va ouvrir un second classeur sans retourner préalablement dans celui des macro (Particuliers 2019.xlsm), il y a un problème.

La seconde consiste de mettre le même code dans Workbook_Open de chacun des classeurs ... j'aimerais éviter cette option pour plein de raison.

Si vous avez des idées, elles sont bienvenues.

Merci et bonne journée!

Private Sub Workbook_Deactivate()
'Mise à jour automatique
On Error GoTo FinMAJAuto
If ActiveWorkbook.Worksheets("Data").Range("F1").Value <= 5 And ActiveWorkbook.Worksheets("Data").Range("F1").Value >= 1 Then
If ActiveWorkbook.Worksheets("Data").Range("B1").Value < Workbooks("Particulier 2019.xlsm").Worksheets("A").Range("G1").Value And ActiveWorkbook.Worksheets("Data").Range("B1").Value >= 1 Then
Application.Run ("'Particulier 2019.xlsm'!MAJAuto")
End If
End If

Exit Sub
FinMAJAuto:

End Sub
 

_Thierry

XLDnaute Barbatruc
Repose en paix
bONSOIR @AlainSAM1982 , le Forum,

En l'état, sans que tes autres classeurs soient eux-mêmes "macrotisés" tu auras des difficultés à faire savoir à ton "Particulier 2019.xlsm" ce qui se passe si les utilisateurs ouvrent d'autres classeurs travaillent dessus, les sauvent et les ferment mais qu'à aucun moment ils ne reviennent sur ton "Particulier 2019.xlsm"...

Un simple test comme ceci te le dira :
VB:
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
MsgBox "Hello"
End Sub

Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
MsgBox "Byebye"
End Sub

En paliatif, tu fais une interface sur ton "Particulier 2019.xlsm" avec les outils nécessaires pour ouvrir les classeurs "slaves" (sans macro) pour qu'ils se mettent à jour, avec cette méthode tu peux carrément abandonner les Triggers dans ThisWorkBook, qui peuvent toujours avoir des éffets de bord imprévus...

Bon Courage
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
311 727
Messages
2 081 962
Membres
101 852
dernier inscrit
dthi16088