Sub Macro2()
Dim cel As Range 'déclare la variaboe cel (CELlule)
For Each cel In Range("B4:B" & Cells(Application.Rows.Count, 2).End(xlUp).Row) 'boucle sur toutes les cellules éditées cel de la colonne B (en partant de B4)
If Application.WorksheetFunction.Sum(Range(Cells(cel.Row, 3), Cells(cel.Row, 5))) <> 0 Then 'condition : si la somme des cellules des colonne C,D et E n'est pas nulle
With cel.Offset(0, 5).Validation 'prend en compte la validation de données de la cellule en colonne G
.Delete 'supprime un éventuelle validation existante
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$N$5:$N$6" 'ajoute la nouvelle validation de données
End With 'fin de la prise en compte de la validation de donnée de la cellule en colonne G
Else 'sinon
cel.Offset(0, 5).Validation.Delete 'supprime la validation de données
End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
End Sub