=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)))
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.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, 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 .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.
Vu comme tu as fait, je me rend compte que j'avais rien compris .Bonjour à tous,
A essayer
VB:=STXT(SUBSTITUE(SUBSTITUE($G4;"+";"");"=";"");COLONNES($A:A);1)
JHA
=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));)
Alors là bravo! et merci!Bonjour à tous,
A essayer
VB:=STXT(SUBSTITUE(SUBSTITUE($G4;"+";"");"=";"");COLONNES($A:A);1)
JHA
Bon ben désolé de ne pas avoir compris.Alors là bravo! et merci!
Je vais étudier cette formule pour comprendre comment ça fonctionne!
Merci job75,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 :
A valider par Ctrl+Maj+Entrée et tirer vers la droite, puis copier en ligne 7.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));)
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+
Pas de soucis Etoto, merci d'avoir pris du temps pour me répondre!Bon ben désolé de ne pas avoir compris.
Bonne journée
Faites comme j'ai dit, avec le copier-coller pas besoin de valider chaque cellule...Merci job75,
Par contre j'ai des tableaux avec des dizaines de lignes, je dois à chaque fois valider les formules matricielles cellule par cellule?
C'est magnifique, j'en suis ébahi!Faites comme j'ai dit, avec le copier-coller pas besoin de valider chaque cellule...
Pour mon information personnelle, en quoi consiste le colonnes($a:a;1)?Bonjour à tous,
A essayer
VB:=STXT(SUBSTITUE(SUBSTITUE($G4;"+";"");"=";"");COLONNES($A:A);1)
JHA