XL 2016 Transformer une formule texte en vraie formule

  • Initiateur de la discussion Initiateur de la discussion SMEAGOAL
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

SMEAGOAL

XLDnaute Junior
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.
 
Solution
Il fallait ajouter un astérisque * devant le 1er HC de la formule matricielle.

Voyez le fichier joint et cette formule matricielle (simplifiée) en G12 :
Code:
=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)))
A+
J'ai quasiment trouvé,
Il ne me reste plus qu'à extraire automatiquement les numéros dans les colonnes H, I et J et trouvant les valeurs situées juste après le signe "=" et après le signe "+".
Ca doit être possible à l'aide des fonctions trouve? Là je bloque... Sachant que j'aimerais pouvoir ajouter jusqu'à 10 tronçons...
Si quelqu'un a une idée, merci!
 

Pièces jointes

J'ai quasiment trouvé,
Il ne me reste plus qu'à extraire automatiquement les numéros dans les colonnes H, I et J et trouvant les valeurs situées juste après le signe "=" et après le signe "+".
Ca doit être possible à l'aide des fonctions trouve? Là je bloque... Sachant que j'aimerais pouvoir ajouter jusqu'à 10 tronçons...
Si quelqu'un a une idée, merci!
Ok donc tu veux prendre les données des colonnes H, I et J mais j'ai pas compris ce que tu veux en faire.
 
Dans les tronçons 3 et 6, je cherche les tronçons à prendre en compte dans les colonnes H I et J et j'effectue la somme correspondante.
OK, ok pas sûr d'avoir compris mais voici le fichier avec ma compréhension. C'est pas que tu expliques mal mais c'est que je comprend mal 😜 🤣 .
 

Pièces jointes

Bonjour SMEAGOAL, Etoto, JHA, le forum,

SMEAGOAL cherche simplement une solution par formules pour éviter le VBA.

Il n'y a pas besoin de colonnes auxiliaires, voyez le fichier .xlsx joint et cette formule matricielle en C4 :
Code:
=SIERREUR(INDEX(C:C;PETITE.VALEUR(SI(ESTNUM(TROUVE("+"&$A$2:$A$100&"+";SUBSTITUE($B4;"=";"+")&"+"));LIGNE($A$2:$A$100));1));)+SIERREUR(INDEX(C:C;PETITE.VALEUR(SI(ESTNUM(TROUVE("+"&$A$2:$A$100&"+";SUBSTITUE($B4;"=";"+")&"+"));LIGNE($A$2:$A$100));2));)+SIERREUR(INDEX(C:C;PETITE.VALEUR(SI(ESTNUM(TROUVE("+"&$A$2:$A$100&"+";SUBSTITUE($B4;"=";"+")&"+"));LIGNE($A$2:$A$100));3));)
A valider par Ctrl+Maj+Entrée et tirer vers la droite, puis copier en ligne 7.

La formule fait la somme d'un maximum de 3 cellules, si on veut pouvoir allet jusqu'à 4 il suffit d'ajouter un bloc +SIERREUR(...PETITE.VALEUR(...;4)...

A+
 

Pièces jointes

Bonjour SMEAGOAL, Etoto, JHA, le forum,

SMEAGOAL cherche simplement une solution par formules pour éviter le VBA.

Il n'y a pas besoin de colonnes auxiliaires, voyez le fichier .xlsx joint et cette formule matricielle en C4 :
Code:
=SIERREUR(INDEX(C:C;PETITE.VALEUR(SI(ESTNUM(TROUVE("+"&$A$2:$A$100&"+";SUBSTITUE($B4;"=";"+")&"+"));LIGNE($A$2:$A$100));1));)+SIERREUR(INDEX(C:C;PETITE.VALEUR(SI(ESTNUM(TROUVE("+"&$A$2:$A$100&"+";SUBSTITUE($B4;"=";"+")&"+"));LIGNE($A$2:$A$100));2));)+SIERREUR(INDEX(C:C;PETITE.VALEUR(SI(ESTNUM(TROUVE("+"&$A$2:$A$100&"+";SUBSTITUE($B4;"=";"+")&"+"));LIGNE($A$2:$A$100));3));)
A valider par Ctrl+Maj+Entrée et tirer vers la droite, puis copier en ligne 7.

La formule fait la somme d'un maximum de 3 cellules, si on veut pouvoir allet jusqu'à 4 il suffit d'ajouter un bloc +SIERREUR(...PETITE.VALEUR(...;4)...

A+
Merci job75,
Par contre j'ai des tableaux avec des dizaines de lignes, je dois à chaque fois valider les formules matricielles cellule par cellule?
 
Bonjour à tous,

Pour l'aide de la fonction STXT
STXT(texte, no_départ, no_car)

Autrement cette fonction renvoie du texte mais on peut la modifier (voir fichier joint)

Concernant "colonnes($a:a;1)"
Colonnes($A:A) renvoie 1
Colonnes($A:B) renvoie 2

donc dans le texte on recherche le premier caractère (Colonnes($A:A)) et on affiche qu'un seul caractère du texte.
ou
Dans le texte on recherche le second caractère (Colonnes($A:B)) et on affiche qu'un seul caractère du texte.

JHA
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Formule
Réponses
4
Affichages
124
Réponses
10
Affichages
204
  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
184
Réponses
4
Affichages
140
  • Question Question
Microsoft 365 Formule si ?
Réponses
7
Affichages
375
Retour