Plusieurs Fonction/Condition dans une cellule

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 !

protoss33

XLDnaute Nouveau
Bonjour,

J'ai créer la formule suivant pour extraire des mots d'une colonne.
Code :

Code:
 =STXT(B2;CHERCHE("mot";B2;1);3)

3 étant la longueur du mot "mot" à extraire.

J'arrive parfaitement à extraire le mot que je veux sauf que j'ai toute une liste de mots différent.
J'aimerais donc pouvoir dupliquer cette fonction avec différents mots au seins d'une seule cellule.

Quelques chose du genre:

Code :
Code:
=STXT(B2;CHERCHE("mot";B2;1);3) ou ca =STXT(B2;CHERCHE("mot1";B2;1);3)
ou ca =STXT(B2;CHERCHE("mot2";B2;1);3) ...

Pour résumer, j'ai une liste de mots, et il faudrait qu'a chaque fois que tel ou tel mot est dans une phrase de la colonne B, il soit extrait de la phrase...

Je ne sais pas comment faire, j'utilise Excel que depuis hier.
Merci d'avance.
 
Re : Plusieurs Fonction/Condition dans une cellule

Bonjour Tibo,

Si j'ai bien compris, il veut remplacer à partir de la cellule d'origine l'ensemble des mots existants dans sa liste mots par d'autres (ou des numéros, peu importe...)
Mais pour être franc, je ne suis pas sûr d'avoir bien compris

Mes essais de SUBSTITUE en matriciel n'ont pas été fructueux
 
Re : Plusieurs Fonction/Condition dans une cellule

re tototiti,

Merci pour ces précisions.

J'ai pensé un temps que ce n'était pas possible avec une formule matricielle. Il n'en fallait pas plus pour tenter de prouver que ça l'était quand même.

En supposant que le nombre de mots à changer soit de 3 maxi par phrase, on peut y parvenir en nommant les formules matricielles.

J'ai ainsi défini les noms suivants :

index_mot_1
index_mot_2
index_mot_3
index_code_1
index_code_2
index_code_3

La définition de index_mot_1 :

Code:
=INDEX(liste_codes;PETITE.VALEUR(SI(ESTNUM(CHERCHE(liste_mots;Feuil1!$A1));
ESTNUM(CHERCHE(liste_mots;Feuil1!$A1))*LIGNE(INDIRECT("1:"&NBVAL(liste_mots))))
;[COLOR=Red][B]1[/B][/COLOR]))
pour index_mot_2 et index_mot_3, je remplace le 1 par 2 puis par 3

Le principe est le même pour index_code_1 :

Code:
=INDEX(liste_codes;PETITE.VALEUR(SI(ESTNUM(CHERCHE(liste_mots;Feuil1!$A1));
ESTNUM(CHERCHE(liste_mots;Feuil1!$A1))*LIGNE(INDIRECT("1:"&NBVAL(liste_mots))))
;[COLOR=Red][B]1[/B][/COLOR]))
La formule globale devient :

Code:
=SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;index_mot_1;index_code_1);index_mot_2;
index_code_2);index_mot_3;index_code_3)

à valider simplement puisque la partie matricielle a été nommée.

Je joins un fichier exemple qui permettra de mieux cerner le propos.

@+
 

Pièces jointes

Re : Plusieurs Fonction/Condition dans une cellule

@tototiti

Si si, ta formule fonctionne bien même avec les 25 imbrications que j'ai faites au lieu des 3 de base^^
Bon j'avoue que c'est un peut long a calculer.

@Tibo

Je n'ai aucune idée de la façon dont il faut procéder pour faire la même formule en version matriciel^^

Edit: Je n'avais pas vu vos 2 derniers message, je vous tiens au courant demain pour vous dire si ca fonctionne bien avec la version matriciel de tibo 😉

Encore merci les gars, je suis content de voir un forum avec des gens si réactif.
 
Dernière édition:
Re : Plusieurs Fonction/Condition dans une cellule

C'est exactement ca mais j'arrive pas a l'adapter a mon propre fichier, en effet je ne sait pas ou il faut écrire la définition des index.

re tototiti,

Merci pour ces précisions.

J'ai pensé un temps que ce n'était pas possible avec une formule matricielle. Il n'en fallait pas plus pour tenter de prouver que ça l'était quand même.

En supposant que le nombre de mots à changer soit de 3 maxi par phrase, on peut y parvenir en nommant les formules matricielles.

J'ai ainsi défini les noms suivants :

index_mot_1
index_mot_2
index_mot_3
index_code_1
index_code_2
index_code_3

La définition de index_mot_1 :

Code:
=INDEX(liste_codes;PETITE.VALEUR(SI(ESTNUM(CHERCHE(liste_mots;Feuil1!$A1));
ESTNUM(CHERCHE(liste_mots;Feuil1!$A1))*LIGNE(INDIRECT("1:"&NBVAL(liste_mots))))
;[COLOR=Red][B]1[/B][/COLOR]))
pour index_mot_2 et index_mot_3, je remplace le 1 par 2 puis par 3

Le principe est le même pour index_code_1 :

Code:
=INDEX(liste_codes;PETITE.VALEUR(SI(ESTNUM(CHERCHE(liste_mots;Feuil1!$A1));
ESTNUM(CHERCHE(liste_mots;Feuil1!$A1))*LIGNE(INDIRECT("1:"&NBVAL(liste_mots))))
;[COLOR=Red][B]1[/B][/COLOR]))
La formule globale devient :

Code:
=SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;index_mot_1;index_code_1);index_mot_2;
index_code_2);index_mot_3;index_code_3)

à valider simplement puisque la partie matricielle a été nommée.

Je joins un fichier exemple qui permettra de mieux cerner le propos.

@+
 
Re : Plusieurs Fonction/Condition dans une cellule

Bonjour à tous,

Il s'agit de noms

Menu Insertion-Nom-Définir
index_mot_1

Fait référence à :
Code:
=INDEX(liste_codes;PETITE.VALEUR(SI(ESTNUM(CHERCHE(liste_mots;Feuil1!$A1));
ESTNUM(CHERCHE(liste_mots;Feuil1!$A1))*LIGNE(INDIRECT("1:"&NBVAL(liste_mots))))
;[COLOR=red][B]1[/B][/COLOR]))

Bouton ajouter
etc...
 
Re : Plusieurs Fonction/Condition dans une cellule

Merci j'ai réussi a créer les noms avec les codes que tu m'a mit.
J'ai essayer de partir de 0 avec un nouveau fichier xls mais ca ne fonctionne pas.

Peux tu me dire d'où viennent mes erreurs?

Je t'ai joint 2 fois le même fichier. protossv2 (version excel 2007) et une version pour 97/2003 au cas ou😉
 

Pièces jointes

Re : Plusieurs Fonction/Condition dans une cellule

Bonjour,

Ton problème est dû à un problème de taille de matrice.

Tes noms liste_codes et liste_circuits sont définis avec 14 lignes

Or, tes formules index_mot_1 font référence à :

NBVAL(liste_circuits)

formule qui retourne 5

Il faudrait que tes noms liste_codes et liste_circuits soient définis de façon dynamique avec la fonction DECALER

Ne pas oublier de corriger dans le fichier que tu as joint (format 97-2003) le nom index_mot_1 qui fait référence à un nom : liste_mots qui n'existe plus.

Je te laisse corriger ces points.

@+
 
- 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

Réponses
2
Affichages
497
Retour