Private Sub CommandButton1_Click()
Dim Cel As Range, plg As Range, lsh As String, sh As Object
'Désactive le rafraîchissement d'écran qui ralentit l'exécution
Application.ScreenUpdating = False
'la variable lsh stocke le nom système des feuilles qui ne sont pas concernées par la copie
'l'utilisation des noms système (CodeName) permet de modifier les noms des onglets sans incidence sur le code
lsh = Feuil1.CodeName & "-" & Feuil2.CodeName & "-" & Feuil3.CodeName
'La boucle passe en revue toutes les feuilles du classeur
For Each sh In Sheets
  'Si le nom de la feuille n'est pas contenu dans lsh les lignes suivantes s'y appliquent
  If InStr(lsh, sh.CodeName) = 0 Then
    'Cette boucle analyse toutes les cellules non vides de la colonne L, à partir de la ligne 5
    For Each Cel In Me.Range("L5:L" & Rows.Count).SpecialCells(xlCellTypeConstants)
      'Si la cellule contient le nom de la feuille en cours d'analyse et si la cellule correspondante en colonne J
      'contient un des critères entre guillemets
      If Cel = sh.Name And InStr("ACCORD, AVIS CF", UCase(Cel.Offset(0, -2))) > 0 Then
        'Si la plage de cellules plg est vide, elle récupère la ligne complète de lacellule en cours d'analyse
        'sinon elle ajoute les lignes des cellules suivantes
        If plg Is Nothing Then
          Set plg = Cel.EntireRow
          Else
          Set plg = Application.Union(plg, Cel.EntireRow)
        End If
      End If
    Next
    'Copie la plage plg et la colle à partir de la cellule A15
    plg.Copy sh.Range("A15")
    'Supprime la plage définie pour recommencer la boucle
    Set plg = Nothing
    'Opère le tri des lignes en fonction des colonnes Bailleur et Date
    With sh.Sort
      .SortFields.Clear
      .SortFields.Add Key:=Range("K15:K" & Rows.Count), SortOn:=xlSortOnValues, _
        Order:=xlAscending, DataOption:=xlSortNormal
      .SortFields.Add Key:=Range("I15:I" & Rows.Count), SortOn:=xlSortOnValues, _
        Order:=xlAscending, DataOption:=xlSortNormal
      .SetRange Range("A15:R" & Rows.Count)
      .Apply
    End With
  End If
Next
'Rétablit le rafraîchissement d'écran
Application.ScreenUpdating = True
End Sub