Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [M3]) Is Nothing Then ' Si M3 modifié alors
Dim F, Lecr, L
Application.EnableEvents = False ' Invalidation événementielle
[A8:I25].ClearContents ' Effacement devis
Application.ScreenUpdating = False ' Ecran figé
Set F = Sheets("Base de données")
Lecr = 8 ' Première ligne écriture
For L = 2 To F.Range("A65500").End(xlUp).Row ' Pour toutes les lignes de BDD
If F.Cells(L, "E") = Target Then ' Si le ligne a bien le bon N° de devis
Cells(Lecr, "A") = Lecr - 7 ' N° ligne devis
Cells(Lecr, "B") = F.Cells(L, "B") ' Identification
Cells(Lecr, "E") = F.Cells(L, "C") ' Revision
Cells(Lecr, "F") = F.Cells(L, "D") ' Quantité
Cells(Lecr, "G") = F.Cells(L, "F") ' Prix
Lecr = Lecr + 1 ' Ligne suivante
End If
Next L
End If
Application.ScreenUpdating = True ' Ecran réactivé
Application.EnableEvents = True ' Events réactivés
End Sub