Salut L'Embrouille,
Salut Steelson,
n'ayant pas un de ces 56 fichiers (j'ai bien une idée de processus, mais bon...), cette version ne fonctionnera pas automatiquement au changement de valeur, indétectable puisque généré par une formule.
Un choix en [A1:B1] est toujours nécessaire mais il est inutile de nommer tes Range ("Critères") : la macro se charge de se faire sa petite collection à la demande.
Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim rCells As Range, rCel As Range, dbNB#
'
If Not Intersect(Target, [B1]) Is Nothing And [B1] <> "" Then
For x = 1 To Range("A" & Rows.Count).End(xlUp).Row
If InStr(Range("A" & x).Value, "critère " & [B1]) > 0 Then
If rCells Is Nothing Then
Set rCells = Range("B" & x).Resize(1, Cells(x, Columns.Count).End(xlToLeft).Column)
Else
Set rCells = Union(rCells, Range("B" & x).Resize(1, Cells(x, Columns.Count).End(xlToLeft).Column))
End If
End If
Next
dbNB = IIf([A1] = "MAX", WorksheetFunction.Max(rCells), WorksheetFunction.Min(rCells))
Set rCel = rCells.Find(what:=dbNB, lookat:=xlWhole, LookIn:=xlValues)
[D1] = rCel.Offset(-(Asc([B1]) - 64), 0).Value
[D1:F1].Interior.Color = rCel.Interior.Color
rCel.Offset(-(Asc([B1]) - 64), 0).Select
End If
'
End Sub
A+