bonjour,
edit : bonjour Eric Kergresse,
Sub AddSubtract(ByVal ReferenceChoisie As Variant, ByVal Valeur As Integer)
Dim I As Integer
Dim AireRef As Range, AireQte As Range
Set AireRef = Range("t_References[Reference]") 'plage de cellules contenant les références
Set AireQte = Range("t_References[Quantity]") 'plage de cellules contenant les quantités pour chacune des références
'on recherche la référence choisie dans la plage des références
For I = 1 To AireRef.Count 'on parcourt la liste des références
If CStr(AireRef(I)) = CStr(ReferenceChoisie) Then 'si la référence en position I dans la liste est égale à la référence choisie
Debug.Print CStr(ReferenceChoisie) '
AireQte(I) = AireQte(I) + Valeur 'on ajoute la valeur à la quantité correspondant à cette référence, l'ajout devient une soustraction si la valeur est négative
Exit For 'on a trouvé la référence, plus la peine de continuer la recherche
End If
Next I
'il faudrait éventuellement ajouter un test pour le cas où la référence à mettre à jour n'a pas été trouvée dans la plage des références.
If I > AireRef.Count Then MsgBox "référence " & ReferenceChoisie & " non trouvée"
'
Set AireRef = Nothing: Set AireQte = Nothing
End Sub