Private Sub Worksheet_Change(ByVal Target As Range)
'Target représente la cellule ou la plage de cellule qui a été modifié
Dim Def, Ligne As Long
If Target.Count = 1 Then 'S'il n'y a qu'une seule cellule de modifiée
If Target.Column > 4 Then 'Si la colonne est E ou au-delà
If Application.CountIf(Sheets("Def Mots Clés").Range("A1:A" & Rows.Count), Target.Value) = 0 Then
'Si la valeur qui vient d'être saisie n'existe pas dans la 1ère colonne de la feuille Def Mots Clés
Def = Application.InputBox(prompt:="Définition du mot clé " & Target.Value, Title:="Nouveau mot clé", Type:=2)
'On demande à l'utilisateur de taper la définition du nouveau mot clé
If Def = False Then Def = "" 'Si l'utilisateur clique sur Annuler, on considère une définition vide
With Sheets("Def Mots Clés")
Ligne = .Range("A" & .Rows.Count).End(xlUp).Row + 1 'Numéro de la 1ère ligne vide de la feuille Def Mots Clés
.Range("A" & Ligne).Value = Target.Value 'On écrit le nouveau mot clé
.Range("B" & Ligne).Value = Def 'On écrit la définition associée dans la même ligne
End With
End If
End If
End If
End Sub