Sub Recap()
Dim og As Worksheet 'déclare la variable og (OnGlet)
Dim pl As Range 'déclare la variable pl (PLage)
Dim dest As Range 'déclare la variable dest (DESTination)
'****************************************************
'récupération des données dans les différents onglets
'****************************************************
For Each og In Sheets 'boucle sur tous les onglets du classeur
Select Case Left(og.Name, 4) 'action en fonction des 4 premières lettres du nom de l'onglet
Case "Open" 'cas "Open"
'condition : si la cellule A5 n'est pas vide (donc si l'onglet contient des données)
If og.Range("A5").Value <> "" And og.Range("A5").Value <> 0 Then
Set dest = Sheets("Recap").Range("A65536").End(xlUp).Offset(1, 0) 'définit la cellule de destination
Set pl = og.Range("A5:L" & og.Range("A65536").End(xlUp).Row) 'définit la plage pl à copier
pl.Copy dest 'copie la plage pl et la colle dans dest
End If 'fin de la conditon
End Select 'fin de l'action en fonction de...
Next og 'prochain onglet de la boucle
'***************
'tri des données
'***************
With Sheets("Recap") 'prend en compte l'onglet "Recap"
.Activate 'active l'onglet
If .Range("H2").Value = "" Then Exit Sub
'tri croissant par rapport à la colonne H
.Range("A2").CurrentRegion.Sort Key1:=.Range("H2"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With 'fin de la prise en compte de l'onglet "Recap"
End Sub