Bonjour,
Pour la première demande je pense que le mieux c'est de passer par une fonction personnalisée en VBA:
Function Necessaire(Plage As Range, NbCol, colIngredients, colNbCommande, colQte, ingredient)
Dim tableau As Variant
Dim total, multiplicateur
tableau = Plage
For j = 1 To UBound(tableau, 2) Step NbCol
For i = 1 To UBound(tableau, 1)
If Trim(LCase(tableau(i, j + colNbCommande - 1))) = "commande" Then
multiplicateur = tableau(i + 1, j + colNbCommande - 1)
ElseIf Trim(LCase(tableau(i, j + colIngredients - 1))) = LCase(ingredient) Then
total = total + tableau(i, j + colQte - 1) * multiplicateur
End If
Next i
Next j
Necessaire = total
End Function
La deuxième demande me semble très compliquée à réaliser, je passe la main pour le moment, histoire de voir si quelqu'un trouverait une super idée, parce que là même avec une fonction personnalisée je ne vois pas comment faire.
A noter que j'ai parfois des résultats différents de ceux obtenus avec les formules précédentes, visiblement il y a des espaces qui se baladent dans les noms de certains ingrédients, que je supprime dans ma fonction personnalisée.