Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Simplification de formule

4 réponses
Avatar
vg00
Bonjour,
J'ai =C3=A9tabli une formule apr=C3=A8s quelques tests.
Elle est fonctionnelle mais pour plus de compr=C3=A9hension dans le futur j=
e souhaitais la simplifier.
Pensez-vous que ce soit possible

=3DCONCATENER("Modules : ";INDIRECT("'"&DROITE(SUBSTITUE(C810;CAR(10);"");N=
BCAR(SUBSTITUE(C810;CAR(10);""))-TROUVE(":";SUBSTITUE(C810;CAR(10);""))-1)&=
"'"&"!E1");" ";INDIRECT("'"&DROITE(SUBSTITUE(C810;CAR(10);"");NBCAR(SUBSTIT=
UE(C810;CAR(10);""))-TROUVE(":";SUBSTITUE(C810;CAR(10);""))-1)&"'"&"!E2"))

Merci d'avance
vg00

4 réponses

Avatar
isabelle
bonjour,
quel est la valeur de la cellule C810 ?
aussi quel est le résultat attendu ?
isabelle
Le 2016-11-17 à 05:33, vg00 a écrit :
Bonjour, J'ai établi une formule après quelques tests. Elle est fonctionnelle
mais pour plus de compréhension dans le futur je souhaitais la simplifier.
Pensez-vous que ce soit possible
=CONCATENER("Modules :
";INDIRECT("'"&DROITE(SUBSTITUE(C810;CAR(10);"");NBCAR(SUBSTITUE(C810;CAR(10);""))-TROUVE(":";SUBSTITUE(C810;CAR(10);""))-1)&"'"&"!E1");"
";INDIRECT("'"&DROITE(SUBSTITUE(C810;CAR(10);"");NBCAR(SUBSTITUE(C810;CAR(10);""))-TROUVE(":";SUBSTITUE(C810;CAR(10);""))-1)&"'"&"!E2"))
Merci d'avance vg00
Avatar
vg00
Le jeudi 17 novembre 2016 17:29:38 UTC+1, isabelle a écrit :
bonjour,
quel est la valeur de la cellule C810 ?
aussi quel est le résultat attendu ?
isabelle
Bonjour en C810 une formule

=CONCATENER("ITEM ";A810;" : ";RECHERCHEV(A810;B26:E781;2;FAUX))
Avatar
vg00
?K? ça à l'aider de marcher faudrait juste que je comprenne pour essayer de l'exploiter de nouveau dans le reste du classeur pour d'autre fo rmules...
Merci d'avance
Avatar
?K?
D'après vg00
?K? ça à l'aider de marcher faudrait juste que je comprenne pour essayer de
l'exploiter de nouveau dans le reste du classeur pour d'autre formules...
Merci d'avance

j'ai remplacé CONCATENER par des & que je trouve moins lourds et DROITE
par STXT
cette formule affiche "Modules : " suivi du contenu de la cellule E1
puis de celui dela cellule E2 d'une feuille dont le nom est généré par
STXT(SUBSTITUE(C810;CAR(10);"");TROUVE(":";SUBSTITUE(C810;CAR(10);""))+2;100)
là dedans, SUBSTITUE remplace tout caractère CAR(10) (saut de ligne
normalement) qui serait contenu dans C810 par "" donc supprime tout
saut de ligne dans le texte récupéré de c810
après test c'est une bonne idée qui évite une erreur ref
TROUVE donne le rang du : dans c810 (débarrassé des éventuels sauts de
ligne)
STXT prend la fin du contenu de c810 en partant deux caractères après
les : jusqu"à la fin (100 est là pour qu'il prenne bien toute la fin
mais à mon avis un nombre plus petit pourrait suffire
si on regarde lecontenu de c810 c'est un peu idiot d'ailleurs car
=CONCATENER("ITEM ";A810;" : ";RECHERCHEV(A810;B26:E781;2;FAUX))
donne quelque chose du genre "ITEM quelque chose : " et la suite qui
t'intéresse (l'espace après le : explique pourquoi il fallait partir du
2ème caractère)
donc tu pourrais utiliser directement RECHERCHEV(A810;B26:E781;2;FAUX)
avec SUBSTITUE(RECHERCHEV(A810;B26:E781;2;FAUX);CAR(10);"")
sans avoir besoin de STXT ni de DROITE
INDIRECT permet de récupérer le contenu de la cellule dont la référence
a été reconstituée "par morceaux"
ça donne 'nomdelafeuille'!E1 si nomdelafeuille était le résultat du
recherchev
proposition de formule simplifiée
= "Modules : " &
INDIRECT("'" & SUBSTITUE(RECHERCHEV(A810;B26:E781;2;FAUX);CAR(10);"") &
"'" & "!E1") &
" "
&
INDIRECT("'" & SUBSTITUE(RECHERCHEV(A810;B26:E781;2;FAUX);CAR(10);"") &
"'" & "!E2")
j'espère que c'est plus clair ?
cdlt
--
-