Finalement après quelques vérifications le code fonctionne correctement, voici le code final :
Dim j As Integer
Dim LastRow_SOURCE As Long
Dim LastRow As Long
Public Sub Ventilation()
Application.ScreenUpdating = False
'efface les feuilles sauf SOURCE
For j = 8 To 27
With Sheets(j)
'efface les feuilles sauf SOURCE
If .Name <> "Source" Then
LastRow = .Range("A" & Rows.Count).End(xlUp).Row
'controle dans le cas ou la liste est vide
If LastRow > 5 Then .Range("a6:a" & LastRow).EntireRow.Delete
End If
End With
Next j
'on part de la source
LastRow_SOURCE = Sheets("Source").Range("A" & Rows.Count).End(xlUp).Row
'on boucle dans la source
For k = 6 To LastRow_SOURCE
'boucle permettant de lire toutes les 12 feuilles du classeur
For j = 8 To 27
With Sheets(j)
'ventiler les noms de la colonne 7 dans chaque feuille si celui-ci a le meme intitulé que la feuille
If .Name = Sheets("Source").Cells(k, 3).Value Then
LastRow = .Range("A" & Rows.Count).End(xlUp).Row
Sheets("Source").Range("A" & k).EntireRow.Copy
.Cells(LastRow + 1, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
End If
End With
Next j
Next k
Application.CutCopyMode = False
Application.ScreenUpdating = True
Sheets("Source").Range("A6:T1000").Copy
Sheets("For R").Range("A:T").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
End Sub
Merci beaucoup pour votre aide