Bonjour,
Je cherche à simplifier un petit bout de code qui marche mais qui se révèle fastidieux lorsque la liste de valeur s’allonge.
Dans mon exemple j'ai en colonne A des noms de légumes. et en colonne B des nombres à additionner seulement si le légume fait parti de la liste : Choux, Poireau, Carotte, Patate ou Haricot
Sub MacroTest1()
Dim Cel As Range
Dim Somm As Integer
Somm = 0
For Each Cel In Range("A2:A13")
If Cel = "Choux" Or Cel = "Poireau" Or Cel = "Carotte" Or Cel = "Patate" Or Cel = "Haricot" Then
Somm = Somm + Range("B" & Cel.Row).Value
End If
Next
MsgBox (" Total Legumes : " & Somm)
End Sub
Ma question est ; comment puis-je simplifier l'écriture si j'ai une 20aines de "légumes" dans ma condition ?
J'aurais aimer pouvoir écrire :
IF Cel.value IS IN ("Choux","Poireau","Carotte","Patate","Haricot") THEN
Je vous remercie pour votre aide.
Thierry
Je cherche à simplifier un petit bout de code qui marche mais qui se révèle fastidieux lorsque la liste de valeur s’allonge.
Dans mon exemple j'ai en colonne A des noms de légumes. et en colonne B des nombres à additionner seulement si le légume fait parti de la liste : Choux, Poireau, Carotte, Patate ou Haricot
Sub MacroTest1()
Dim Cel As Range
Dim Somm As Integer
Somm = 0
For Each Cel In Range("A2:A13")
If Cel = "Choux" Or Cel = "Poireau" Or Cel = "Carotte" Or Cel = "Patate" Or Cel = "Haricot" Then
Somm = Somm + Range("B" & Cel.Row).Value
End If
Next
MsgBox (" Total Legumes : " & Somm)
End Sub
Ma question est ; comment puis-je simplifier l'écriture si j'ai une 20aines de "légumes" dans ma condition ?
J'aurais aimer pouvoir écrire :
IF Cel.value IS IN ("Choux","Poireau","Carotte","Patate","Haricot") THEN
Je vous remercie pour votre aide.
Thierry
Dernière édition: