Dim lr As ListRow
'
' Si plus d'une cellule est changée alors on sort
If Target.Count > 1 Then Exit Sub
'
' Si la cellule(Target) ayant changé est la cellule de saisie nommée
If Target.Address = Range("SaisieNumMet").Address Then
'
' Si les deux autres champs ne sont pas vide
If Not IsEmpty(Target.Offset(2)) And Not IsEmpty(Target.Offset(4)) Then
'
' Alors travailler sur le tableau
With ListObjects("T_Livraisons")
'
' Récupérer la ligne d'insertion automatique du tableau si elle existe
' Sinon la créer
If .InsertRowRange Is Nothing Then
Set lr = .ListRows.Add()
Else
Set lr = .InsertRowRange
End If
'
' La remplir avec les valeurs des trois cellules idoines
lr.Range.Value = Array(Target, Target.Offset(2), Target.Offset(4))
'
' Signalé que la ligne a été ajoutée.
Range("C1") = "Ligne du numéro " & Target & " ajoutée "
End With
'
' Si élément manquants avertir l'utilisateur
Else
MsgBox "Ajout du numéro MET interrompu : Il manque soit la date soir le nom du livreur!", vbExclamation, "Ajout Numéro MET"
End If
End If