bonjour Doux Reveur,draegurg,
eventuellement avec VBA
Sub Convoc()
Dim Rouge(1 To 1000, 1 To 5), Orange(1 To 1000, 1 To 5), iRouge, iOrange
For Each sh In ThisWorkbook.Worksheets
If StrComp(sh.Name, "Convocations", 1) <> 0 Then
Set c = sh.Range("A1").CurrentRegion
For i = 2 To c.Rows.Count
For j = 7 To c.Columns.Count
If c.Cells(i, j).Value <> "" Then
Select Case c.Cells(i, j).Value
Case -20000 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(1, j).MergeArea.Cells(1).Value 'raison
Rouge(iRouge, 5) = c.Cells(i, j).Value 'km
Case 0 To 60
'la même chose
End Select
End If
Next
Next
End If
Next
With Sheets("Convocations")
With .Range("A20")
.Resize(1000, 5).ClearContents
With .Resize(iRouge, 5)
.Value = Rouge
.HorizontalAlignment = xlCenter
.Sort key1:=.Range("A1"), key2:=.Range("D1"), key3:=.Range("B1"), Header:=xlNo 'eventuellement trier
End With
End With
End With
End Sub