Excel ne retourne pas la valeur ''#valeur"

ibral -  
Mike-31 Messages postés 18405 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.
Configuration: Windows XP Internet Explorer 6.0

10 réponses

  1. 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
  2. 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
  3. ibral
     
    ça marche pas.

    Le résultat propre doit apparaitre dans la même cellule
    0
    1. Gord21 Messages postés 928 Statut Membre 289
       
      Pardon, c'est plutôt :
      =SI(ESTERREUR(SUBT...);X538;SUBT...)
      0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  7. 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
  8. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  9. 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
  10. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  11. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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