Option Explicit
Sub SynthesePierre()
Dim Ws As Worksheet, i As Byte, j As Byte, k As Byte, N As Integer
Application.ScreenUpdating = False
' Effacement des enregistrements précédents
Sheets("SYNTHESE").Range("A5:I10000").ClearContents
' Début d'enregistrement
N = 5
For Each Ws In Worksheets ' Boucle sur les feuilles
With Ws ' Dans cette feuille
If .Range("A11") > 0 Then
If .Name <> "SYNTHESE" And .Name <> "Total des coûts" And .Name <> "Feuille de données" Then ' Sauf les feuilles qui portent ces noms
For i = 2 To 60 ' Boucle sur les cellules de la première colonne
If .Cells(i - 1, 1) = "FREQ. PAR AN" Then 'L travail commence à cette cellule
For k = i To 60
If .Cells(k, 2) <> "" Or .Cells(k, 3) <> "" Or .Cells(k, 4) <> "" Or .Cells(k, 5) <> "" _
Or .Cells(k, 6) <> "" Or .Cells(k, 7) <> "" Or .Cells(k, 7) <> "" Then ' Si des cellules contiennenent des données
Sheets("SYNTHESE").Cells(N, 1) = Ws.Name ' Mise en place du nom de la feuille
For j = 2 To 9
Sheets("SYNTHESE").Cells(N, j) = .Cells(k, j - 1) ' Copier les données des 7 colonnes dans la feuille synthèse
Next j
N = N + 1 ' Ajouter 1 pour l'enregistrement suivant
End If
Next k
Exit For ' Sortie de la boucle i de la feuille
End If
Next i
End If
End If
End With
Next Ws ' Changement de feuille
End Sub