A priori VBA étant permis, testez la fonction ci-dessous.
La seule plus-value par rapport à la solution d'Anne est d'avoir la présence de longueurs de chaine en final <> 7 et de mettre les 3 chiffres du début de compte en paramètre.
Function CompteLibelle(ByVal Libelle As String, ByVal AireLibelle As Range, ByVal AireCompte As Range, ByVal DebutDeCompte As String) As String
Dim I As Long, NbLignes As Long
Dim TabLibelle As Variant, TabAireLibelle As Variant
CompteLibelle = ""
NbLignes = WorksheetFunction.CountA(AireLibelle)
For I = 1 To NbLignes
TabAireLibelle = Split(AireLibelle(I), " ")
TabLibelle = Split(Libelle, " ")
If TabAireLibelle(UBound(TabAireLibelle)) = TabLibelle(UBound(TabLibelle)) _
And Mid(AireLibelle(I), 1, 1) = Mid(Libelle, 1, 1) _
And Mid(AireCompte(I), 1, 3) = DebutDeCompte Then
CompteLibelle = AireCompte(I)
Exit Function
End If
Next I
End Function