Affichage du maximum d’itérations multiples (Microsoft Excel)
Mike a trois cellules (A1: A3) qui montrent les résultats des calculs. Il a besoin d’un moyen de déterminer la valeur maximale jamais apparue dans l’une de ces cellules et de stocker cette valeur dans la cellule E5. Il sait comment obtenir le maximum des trois, mais lorsqu’il recalcule la feuille de calcul, si les valeurs de A1: A3 sont inférieures à la valeur maximale de E5 (sur la base des déterminations précédentes du maximum de A1: A3), alors E5 ne devrait pas changer. En d’autres termes, E5 ne devrait changer que si ce qui est dans A1: A3 est supérieur à ce qui est dans E5. Mike ne sait pas comment effectuer un tel calcul.
Vous pouvez résoudre ce problème de deux manières. La première consiste à créer une formule simple qui serait placée dans la cellule E5:
=MAX(A1:A3,E5)
La fonction MAX examine les diverses valeurs auxquelles elle fait référence, puis en renvoie le maximum – exactement ce qui est souhaité. Cependant, puisque cette formule est placée dans la cellule E5 et qu’elle fait également référence à E5, elle renverra une erreur. En effet, la formule crée une référence circulaire. Excel peut les gérer, mais vous devez faire un petit changement de configuration pour le faire:
-
Affichez la boîte de dialogue Options Excel. (Dans Excel 2007, cliquez sur le bouton Office, puis sur Options Excel. Dans Excel 2010 et les versions ultérieures, affichez l’onglet Fichier du ruban, puis cliquez sur Options.)
-
Cliquez sur Formules sur le côté gauche de la boîte de dialogue. (Voir la figure 1.)
-
Assurez-vous que la case à cocher Activer le calcul itératif est activée.
-
Cliquez sur OK.
Maintenant, Excel gère les références circulaires, telles que la formule simple que vous avez placée dans la cellule E5.
La deuxième approche consiste à utiliser une macro pour effectuer le calcul. Cette approche peut être préférée car vous ne souhaitez peut-être pas (pour une raison quelconque) activer les références circulaires dans votre classeur. Ce qui suit est en fait un gestionnaire d’événements, ajouté au code de la feuille de calcul. (Méthode la plus simple:
Faites un clic droit sur l’onglet de la feuille, affichez la fenêtre de code à partir du menu contextuel résultant et ajoutez la macro à cette fenêtre de code.)
Private Sub Worksheet_Calculate() Dim dMax As Double dMax = Application.WorksheetFunction.Max(Range("A1:A3")) If dMax > Range("E5") Then Application.EnableEvents = False Range("E5") = dMax Application.EnableEvents = True End If End Sub
La macro est déclenchée chaque fois que la feuille de calcul est recalculée. Il saisit le maximum de A1: A3 et le compare à ce qui est dans E5. Ce n’est que si elle est plus grande que cette valeur est alors placée dans E5.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (10916) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:
link: / excel-Only_Showing_the_Maximum_of_Multiple_Iterations [Affichage uniquement du maximum d’itérations multiples]
.