Private Sub Worksheet_Change(ByVal Target As Range)
Dim FlgFind As Boolean
Dim Wks As Worksheet
Dim NLig As Long
' Si le changement ne se fait pas dans les Arômes on sort
If Intersect(Target, Range("D7:D16")) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
' Définir la feuille source
Set Wks = ThisWorkbook.Worksheets("Liste_Arômes")
' Sinon vérifier que la valeur existe
On Error Resume Next ' En cas d'erreur de recherche on continue
FlgFind = Wks.Range("B:B").Find(What:=Target.Value, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False).Value <> ""
On Error GoTo 0
' Si la valeur n'a pas été trouvée
If FlgFind = False Then
' On demande s'il faut ajouter l'arôme
If Msgbox("Cet arôme n'existe pas dans la liste, Voulez-vous l'ajouter ?", _
vbQuestion + vbYesNo, "AJOUTER AROME ?") = vbYes Then
' Lancer l'userform ici
'UserForm1.Show
' CE QUI SUIT DEVRA ETRE MIS dans l'USF
' Si la réponse est oui, alors, ajouter l'arôme
' Trouver la dernière ligne vide
NLig = Wks.Range("B" & Rows.Count).End(xlUp).Row + 1
' Inscrire la marque
Wks.Range("A" & NLig).Value = Target.Offset(0, -1).Value
' Inscrire l'arôme saisi
Wks.Range("B" & NLig).Value = Target.Value
' IMPORTANT - Trier le tableau
Call TriAromes
End If
End If
End Sub