Bonjour,
l'erreur que tu reçois est très probablement liée à une erreur dans tes données dans ta feuille excel.
adapte ton code ainsi, pour indiquer la cellule en erreur
For Each sh In ThisWorkbook.Worksheets
If StrComp(sh.Name, "convocations GLOBALE", 1) <> 0 Then
Set c = sh.Range("A3").CurrentRegion
For i = 2 To c.Rows.Count
For j = 8 To c.Columns.Count
If Not IsError(c.Cells(i, j).Value) Then ' <----- ajouter ici
If c.Cells(i, j).Value <> "" Then
Select Case c.Cells(i, j).Value
Case -200000 To 0
iRouge = Application.Min(UBound(Rouge), iRouge + 1) 'pointer
Rouge(iRouge, 1) = c.Cells(i, 1).Value 'CIE
Rouge(iRouge, 2) = c.Cells(i, 2).Value 'Immat
Rouge(iRouge, 3) = c.Cells(i, 3).Value 'Type
Rouge(iRouge, 4) = c.Cells(5, j).Value 'opération (ligne 5)
Rouge(iRouge, 6) = c.Cells(i, j).Value 'temps
Rouge(iRouge, 5) = sh.Name 'c.Cells(i, j).Value 'feuille
End Select
End If
Else ' <----- ajouter ici
MsgBox "cellule en erreur sur la feuille " & sh & " en " & c.Cells(i, j).Address ' <----- ajouter ici
End If ' <----- ajouter ici
Next
Next
End If
Next