Bonjour à tous,
J'ai une question qui peut paraître évidente pour certains, mais je ne trouve pas la solution au problème suivant: J'ai un fichier excel de 23 onglets, avec plein de calculs dans chaque onglet qui dépendent des autres onglets.
Dans mon premier onglet, appelée "Données" ici, je rentre des valeurs utilisées sur tout les autres onglets, et puis en théorie je fais F9 et ça calcule tout. Sauf que, j'ai 3 procédures en VBA qui doivent être déclenchées à l'aide d'un bouton sur ce premier onglet, bien que les procédures font en réalité des calculs pour 2 autres onglets (c'est juste une question de tout regrouper sur un onglet pour l'interface utilisateur).
Donc voilà le code de mon bouton VBA:
----------------------------------------------------
Private Sub CommandButton1_Click()
Sheets("Echangeurs" ).Activate
Call echangeur
Sheets("Pertes thermiques" ).Activate
Call Calcul1
Sheets("Pertes thermiques" ).Activate
Call Calcul2
Sheets("Données" ).Activate
End Sub
------------------------------------------------------
Mon problème, c'est que si l'utilisateur change une donnée, il doit faire: F9 pour que les données utilisées dans les feuilles "Echangeurs" et "Pertes thermiques" soient recalculées. Puis, il doit cliquer sur le bouton "CommandButton1" (oui je sais c'est à renommer...) pour que quelques données soient calculées par les procédures "echangeur", "calcul1" et "calcul2". Enfin pour terminer, l'utilisateur doit refaire F9 pour que les données qui dépendent de ces valeurs en sortie de procédure soient recalculées.
N'y a t'il pas un moyen de tout faire dans le code du bouton? je veux dire, l'équivalent de F9 en VB puis procédures puis re-équivalent de F9 en VB?
Comment écrit-on cet équivalent de F9? J'ai lu quelques trucs sur Worksheet.Activate() mais ça recalculera alors seulement l'onglet du bouton vba ou mes 23 onglets?
J'espère que je n'ai pas trop mal formulé ma question, et je vous remercie d'avance pour votre aide!
---------------
Il vaut mieux vivre avec des remords qu'avec des regrets {O.Wilde}