=SI(SOMME(-ESTNUM(CHERCHE("+"&$A$6:$A11&"+*HC";SUBSTITUE($B12;"=";"+")&"+"&G$6:G11)));"HC";SOMME(SI(ESTNUM(TROUVE("+"&$A$6:$A11&"+";SUBSTITUE($B12;"=";"+")&"+"));G$6:G11)))
Bonjour et bienvenu sur XLD,Bonjour,
Je m'explique:
A B C
1 5
2 6
3 =1+2 11
J'écris en B3 la formule: ="="&A1&"+"&A2, ce qui donne "=1+2"
J'aimerais que C3 recherche les cases C1 et C2 et les additionne en se référant à la cellule B3,
Est-ce possible?
Merci.
Alors où est le rapport avec la cellule B3 ?Merci mais en fait on doit calculer 5+6=11,
Et bien sûr il peut y avoir plus de cellules à additionner...
Je veux que le calcul soit automatique en fonction de ce qui est affiché en A3. Si il est écrit dans un plus grand fichier =2+15, il faut que la formule cherche les valeurs en C2 et C15 et les additionne. Et si elle doit faire =1+5+8, elle doit rechercher les valeur en C1, C5 et C8 et les additionner.Alors où est le rapport avec la cellule B3 ?
Dans le fichier que tu nous donnes, tu as déjà 11 en résultat donc je ne vois vraiment pas ce que tu veux faire.
Merci mais ce n'est pas ce que je recherche.re,
en pure formule de feuille, je ne sais pas faire mais avec une fonction personnalisée VBA, c'est simple !
Bien cordialement, @+
J'ai rajouté des lignes dans mon fichier, peut-être que ça sera plus clair?Re,
Sans connaitre la finalité, j'arrête de chercher dans le brouillard.
Bonne continuation et bonne chance
Sub Formules()
Dim tablo, i&, x$
With [A1].CurrentRegion.Resize(, 3)
tablo = .Formula 'matrice, plus rapide
For i = 1 To UBound(tablo)
x = tablo(i, 2)
If Left(x, 1) = "=" Then
x = Replace(Replace(Replace(Replace(x, "A", "C"), "=", ""), """", ""), "&", "")
tablo(i, 3) = "=" & x
End If
Next
.Formula = tablo 'restitution
End With
End Sub
Merci job75!Bonjour SMEAGOAL, Etoto, Yeahou,
Voyez le fichier joint et cette macro affectée au bouton :
A+VB:Sub Formules() Dim tablo, i&, x$ With [A1].CurrentRegion.Resize(, 3) tablo = .Formula 'matrice, plus rapide For i = 1 To UBound(tablo) x = tablo(i, 2) If Left(x, 1) = "=" Then x = Replace(Replace(Replace(Replace(x, "A", "C"), "=", ""), """", ""), "&", "") tablo(i, 3) = "=" & x End If Next .Formula = tablo 'restitution End With End Sub