Salut Good,
J'aurais un fichier pareil, je m'arrangerais pour afficher ces résultats en haut du tableau voire sur le côté mais en haut quand même pour plus de facilité car je suppose que ces lignes se garnissent au fur et à mesure!?
Déclenchement de la macro via un double-clic en [B1].
Ici, les résultats s'affichent deux lignes en-dessous des colonnes :
- en gras pour le MAX ;
- en italic pour le MIN ;
- en rouge pour la différence.
Tu peux ajouter des nombres dans l'intervalle puis re-double-clic pour voir l'effet.
La macro calcule alors la présence de la cellule Différence (en rouge), efface les 3 dernières lignes et recalcule.
Evidemment, il faut peaufiner en fonction de la manière de remplissage des colonnes!!!
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
If Not Intersect(Target, Range("B1")) Is Nothing Then
Cancel = True
For x = 2 To Cells(2, Columns.Count).End(xlToLeft).Column
sCol = Split(Columns(x).Address(ColumnAbsolute:=False), ":")(1)
iRow = Range(sCol & Rows.Count).End(xlUp).Row
If Cells(iRow, x).Font.Color = RGB(255, 0, 0) Then Range(sCol & iRow - 2 & ":" & sCol & iRow).Delete shift:=xlUp
iRow = Range(sCol & Rows.Count).End(xlUp).Row
Cells(iRow + 3, x) = Application.WorksheetFunction.Max(Range(sCol & ":" & sCol))
Cells(iRow + 3, x).Font.Bold = True
Cells(iRow + 4, x) = Application.WorksheetFunction.Min(Range(sCol & ":" & sCol))
Cells(iRow + 4, x).Font.Italic = True
Cells(iRow + 5, x) = Cells(iRow + 3, x) - Cells(iRow + 4, x)
Cells(iRow + 5, x).Font.Color = RGB(255, 0, 0)
Next
End If
'
End Sub
A+