Comme quoi un bon fichier vaut parfois toutes les explications !
Si la structure du fichier est modifiable, c'est surtout la priorité pour adopter quelque chose de plus conventionnel et moins pénible à exploiter...
En attendant, une fonction personnalisée :
Public Function SommeConditionnelle(PlageSomme As Range, ChaineCaract As String) As Single
Dim Cel As Range, Res As Single
For Each Cel In PlageSomme
If Cel.Value Like "*" & ChaineCaract & "*" Then
Res = Res + Replace(Replace(Mid(Cel.Value, InStr(Cel.Value, ChaineCaract & "[") + Len(ChaineCaract) + 1, 3), "]", ""), ";", "")
End If
Next Cel
SommeConditionnelle = Res
End Function
A utiliser ensuite de manière classique :
=SommeConditionnelle($B$2:$B$11;A14)
Votre fichier modifié :