Sub Macro3()
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim tv(7) As Variant 'déclare le tableau de variables tv (Tableau de Variables)
Dim li As Integer 'déclare la variable li (LIgne)
Dim dest As Range 'déclare la variable dest (DESTination)
Dim x As Byte 'déclare la variable x
With Sheets("Feuille 1") 'prend en compte l'onglet "Feuille 1"
Set pl = .Range("AM57:AM" & .Range("AM65536").End(xlUp).Row) 'définit la plage pl
For Each cel In pl 'boucle sur toutes les cellules éditées cel de la plage pl
If cel.Value > 0 Then 'condition : si la valeur de la cellule est supérieure à 0
li = cel.Row 'définit la variable li
'remplit le tableau de variable tv
tv(0) = .Cells(li, 1).Value 'colonne A
tv(1) = .Cells(li, 6).Value 'colonne F
tv(2) = .Cells(li, 25).Value 'colonne Y
tv(3) = .Cells(li, 30).Value 'colonne AD
tv(4) = .Cells(li, 39).Value 'colonne AM
tv(5) = .Cells(li, 40).Value 'colonne AN
tv(6) = .Cells(li, 41).Value 'colonne AO
tv(7) = .Cells(li, 42).Value 'colonne AP
Set dest = Sheets("Feuille 2").Range("A65536").End(xlUp).Offset(1, 0) 'définit la variable dest
'récupération des données
For x = 0 To 7 'boucle sur les valeurs du tableau de variables tv
dest.Offset(0, x).Value = tv(x) 'récupère la valeur du tableau tv dans l'onglet "Feuille 2"
Next x 'prochaine variable du tableau tv
End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
End With 'fin de la prise en compte de l'onglet "Feuille 1"
End Sub