re-bonjour à tous,
(tulipe_4) : plus que bizzare , car je ne fais jamais de vba
je suppose que le message faisait référence à ma proposition.
si tu ne fais pas confiance au fichier que j'ai envoyé, voici le code à mettre dans ton classeur.
Function sommemot(commande, mot)
'donne le nombre de produits correspondant au mot, trouvés dans la commande
tb = Split(commande, ",")
For i = LBound(tb) To UBound(tb)
fac = Split(tb(i), " x ")(0) + 0
s = InStr(1, texte, mot, vbTextCompare)
If s <> 0 Then sm = sm + fac * Mid(texte, s - 3, 2) + 0
Next i
sommemot = sm
End Function
Function sommeprix(commande)
'donne la somme des prix trouvés dans la commande
tb = Split(commande, ",")
For i = LBound(tb) To UBound(tb)
fac = Split(tb(i), " x ")(0)
s = InStr(1, texte, "€")
If s <> 0 Then
prix = Mid(texte, s - 2, 5)
prix = Replace(prix, "€", ".")
sm = sm + fac * prix
End If
Next i
sommeprix = sm
End Function
2 fonctions
Une fonction qui compte le nombre de fois qu'un produit apparaît dans une commande (sommemot). Exemple pour compter les viennoiseries dans la commande en H3
=sommemot(H3,"viennoiseries")
une fonction qui fait la somme des prix trouvés dans une commande (sommeprix). Exemple pour faire la somme des prix trouvés dans la commande en H3
=sommeprix(H3)
les deux fonctions tiennent compte du nombre de formules P'tit Dej indiquées dans la commande.
Je t'avais fourni ton classeur avec les fonctions personnalisées VBA et les formules adaptées.
Je te laisse copier les fonctions personnalisées dans un nouveau module VBA et mettre les formules dans les cellules qui vont bien.