Sub macro1()
Dim O As Object 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim LI As Integer 'déclare la variable LI (LIgne)
Set O = Sheets("Cartes") 'définit l'onglet O
DL = O.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 1 (=A) de l'onglet O
For LI = DL To 8 Step -1 'boucle inversée de la dernière ligne Dl à la ligne 8
If O.Cells(LI, 3) <> 0 Then Exit For 'si la cellule en colonne C de boucle est différente de 0, sort de la boucle
Next LI 'prochaine ligne de la boucle
O.Range("F3").Value = O.Cells(LI, 1).Value 'récupère en F3 la valeur correspondante en colonna A
End Sub