Excel ne retourne pas la valeur ''#valeur"

ibral -  
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je fais une substitution dans une cellule Y538 la formule ci-dessous:
=SUBSTITUE(SUBSTITUE(SUBSTITUE(GAUCHE(X538;CHERCHE("_";X538)-1);"[";"");"]";"");"_";"")

Je souhaite que si cette formule ne donne rien, qu'elle ne retourne pas la valeur ''#valeur" mais le contenu de la cellule X538.

Merci d'avance.
A voir également:

10 réponses

Gord21 Messages postés 928 Statut Membre 289
 
Bonjour ibral,
Est-ce que la formule que je te proposais plus haut (post 4) résoud ton problème ?
=SI(ESTERREUR(SUBSTITUE(SUBSTITUE(SUBSTITUE(GAUCHE(X538;CHERCHE("_";X538)-1);"[";"");"]";"");"_";""));X538;SUBSTITUE(SUBSTITUE(SUBSTITUE(GAUCHE(X538;CHERCHE("_";X538)-1);"[";"");"]";"");"_";"")) SUBSTITUE(SUBSTITUE(SUBSTITUE(GAUCHE(X538;CHERCHE("_";X538)-1);"[";"");"]";"");"_";"")

1
Gord21 Messages postés 928 Statut Membre 289
 
Bonjour,
Je pense que tu peux t'en sortir avec la fonction ESTERREUR :
=SI(ESTERREUR(SUBT...);"";SUBT...)

SUBT... désigne ta fonction. Je pense qu'il est inutile de substituer _ puisque c'est le caractère qui te sert de séparateur dans ta fonction gauche, donc il est déjà supprimé.
0
ibral
 
ça marche pas.

Le résultat propre doit apparaitre dans la même cellule
0
Gord21 Messages postés 928 Statut Membre 289
 
Pardon, c'est plutôt :
=SI(ESTERREUR(SUBT...);X538;SUBT...)
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour

Si c'est le m^me problème qu'hier, cad, pour expliquer à Gord21 (bonjour), que tu veux extraire le premier mot d'une chaine du style
[xxxxxx]/[yyyy]+[zzzzzz] [wwwwwwwwww]
les mots étant toujours entre des crochets
=SUBSTITUE(GAUCHE(D8;CHERCHE("]";D8)-1);"[";"")

te donne à coup sûr "xxxxxx" quelque soit le séparateur entre les mots entre crochets

le post d'hier pour Gord21
https://forums.commentcamarche.net/forum/affich-16512379-supriession-d-une-chaine-da-caractere-excel
0
Gord21 Messages postés 928 Statut Membre 289
 
Bonsoir Michel_m
Merci pour les explications. C'est vrai que ce post semble être la suite de celui indiqué.
Je ne vois pas vraiment d'où vient le #valeur, il faut peut-être faire un test avant de chercher à substituer.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour Gord

En fait, la solution de Mike 31 (Salut, l'ancien) reprise par Ibral ne fonctionne que si le séparateur de mot entre crochets est l'underscore. Qu'il y ait qu'un seul mot ou un autre séparateur (au départ il écrivait un "/" comme séparation) une erreur est générée
explication pour Ibral:
la formule que je propose recherche ce qui est à gauche du premier ] donc, le caractère séparateur est indifférent
la fonction SUBSITUE enlève alors le premier [
c'est pour cela que j'ai souligné entre crochets
0
ibral
 
merci a vous deux.
La valeur "#valeur" est générée quand il n'y a pas l'argument crochet trouvé, et c'est là ou ça bloque.
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
OUI, mais ca ne correspond pas du tout à ce que tu demandais dans ton premier message!

Désolé, je n'ai pas de boule de cristal et tu m'as fait perdre mon temps.
0
ibral
 
Désolé michel si je t'ai fait perdre ton temps, mais il me semble que mon message était assez explicite:

"si cette formule ne donne rien, qu'elle ne retourne pas la valeur ''#valeur" mais le contenu de la cellule X538"
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
T"as Raison, Brenda

Je relis ta demande
..."Dans une collonne excel, je souhaite suprimer les crochets [ et ] et récupérer la chaine du premier entre crochet, pour compliquer le problème le nombre de caractère entre les crochets est variable exemple:
[toto]
[bonbon]
[bi*da-]
[tata]/[titi]"...

....
0
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Salut tout le monde,

N’ayant pas de relance sur l'autre discussion, j'avais un peu décroché.

Je voudrais faire un rappel à Ibral, il est inutile et même fortement déconseillé d’ouvrir plusieurs discussions sur le même sujet.
Ensuite s’il veut avoir des propositions, il faudrait qu’il donne tous les éléments de son problème, au départ il s’agissait d’isoler la partie gauche d’une valeur définie par / et supprimer les entres crochet []

Il serait souhaitable de sa part qu’il donne des exemples de plusieurs valeurs exemple dans une cellule j’ai ça et voudrai ce résultat, dans cette cellule j’ai ça et voudrai ça etc …

Tout de même sans avoir encore tout compris de ce problème à rallonge cette formule qui peut être complété pour éviter le message d’erreur dans le cas de cellule source vide ou encore supprimer une autre occurrence

=SI(ESTERREUR(I1);SUBSTITUE(SUBSTITUE(A1;"[";"");"]";"");SUBSTITUE(SUBSTITUE(GAUCHE(A1;CHERCHE("/";A1)-1);"[";"");"]";""))
0