Voilà, j'ai fais ça ...
Le seul petit souci c'est que je n'arrive pas à exécuter directement le module à l'activation de la feuille ?
je suis obliger de le faire manuellement ?
Quand je colle le code dans Private Sub Worksheet_Activate() ça génère une erreur 1004 ?
mais sinon ça marche
Sub trier()
Sheets("MA").Select
Dim i, t As Integer
i = 12
t = 12
Cells(12, 1).Select
Do While Cells(i, 1) <> "" Or Cells(i, 2) <> "" Or Cells(i, 3) <> "" Or Cells(i, 4) <> "" Or Cells(i, 5) <> ""
If Cells(i, 5) = "En cours" Or Cells(i, 5) = "A faire" Or Cells(i, 5) = "reçu acompte" Or Cells(i, 5) = "Acompte" Then
Rows(i).Copy Sheets("Suivi").Rows(t)
t = t + 1
End If
i = i + 1
Loop
Sheets("CH").Select
i = 12
Cells(12, 1).Select
Do While Cells(i, 1) <> "" Or Cells(i, 2) <> "" Or Cells(i, 3) <> "" Or Cells(i, 4) <> "" Or Cells(i, 5) <> ""
If Cells(i, 5) = "En cours" Or Cells(i, 5) = "A faire" Or Cells(i, 5) = "reçu acompte" Or Cells(i, 5) = "Acompte" Then
Rows(i).Copy Sheets("Suivi").Rows(t)
t = t + 1
End If
i = i + 1
Loop
Sheets("CO_ET").Select
i = 12
Cells(12, 1).Select
Do While Cells(i, 1) <> "" Or Cells(i, 2) <> "" Or Cells(i, 3) <> "" Or Cells(i, 4) <> "" Or Cells(i, 5) <> ""
If Cells(i, 5) = "En cours" Or Cells(i, 5) = "A faire" Or Cells(i, 5) = "reçu acompte" Or Cells(i, 5) = "Acompte" Then
Rows(i).Copy Sheets("Suivi").Rows(t)
t = t + 1
End If
i = i + 1
Loop
Sheets("Suivi").Select
Dim x As String
t = t - 1
x = "$A$11:$T$" & CStr(t)
ActiveSheet.ListObjects("Tableau130").Resize Range(x)
End Sub