Option Base 1
Option Explicit
Sub Anomalies()
Dim Valeurs As Range, Valeur As Range
Dim Anomalie As Boolean
Dim Anomalies() As String
Dim i As Long, j As Long
Dim Message As String
i = 0
Anomalie = False
Set Valeurs = Range([C7], Cells(Cells(ActiveSheet.Rows.Count, "C").End(xlUp).Row, "C"))
For Each Valeur In Valeurs
If Valeur < Valeur(1, 2) Then
Anomalie = True
i = i + 1
ReDim Preserve Anomalies(i)
Anomalies(i) = Valeur & ";;" & Valeur.Address & ";;" & Valeur(1, 2).Address
End If
Next Valeur
If Anomalie = True Then
Message = i & " Anomalies ont été detectées :" & Chr(10) & Chr(10)
For j = LBound(Anomalies) To UBound(Anomalies)
Message = Message & j & " : valeur " & Split(Anomalies(j), ";;")(0) & " dans la plage " & _
Split(Anomalies(j), ";;")(1) & ":" & Split(Anomalies(j), ";;")(2) & Chr(10)
Next j
MsgBox Message
End If
End Sub