Récupérer valeur entre 2 séparateurs

Résolu
Bonjour,

Je n'arrive pas à récuperer une valeur située entre 2 séparateurs "," (virgule) dans mon fichier .csv. J'ai essayé avec DROITE et GAUCHE mais ces fonctions ne prennent que les premières qu'elles rencontrent.

Voici ma chaine de caractère : AB.PA,4/26/2010,12.98,12.98,12.2,12.68,62800

La valeur que je souhaiterais récupérer est 12.68, en 6 sixième position en partant de gauche.

Merci beaucoup pour votre aide
Florew

2 réponses

  1. Bonjour,
    Tentative d'explication:
    SUBSTITUE(A1;",";"£";6) remplace la sixième virgule par £
    CHERCHE("£";SUBSTITUE(A1;",";"£";6))-1 renvoie la position de £ dans A1 modifié: ici 39-1=38
    =CHERCHE("£";SUBSTITUE(A1;",";"£";5))+1 renvoie la position de £ dans A1 modifié: ici 33+1=34
    =GAUCHE(A1;CHERCHE("£";SUBSTITUE(A1;",";"£";6))-1) renvoie les 38 caractères de gauche.
    =STXT(....;34;99) renvoie 99 caractères à partir du 34ème dans A1 réduit à 38 caractères.
    La source de cette formule est le site de Jacques Boisgontier.

    La date que vous récupérez n'est pas valide pour Excel " français", elle se présente sous la forme mm/jj/aaaa.
    1
    1. Merci pour ces précisions.
      0
  2. Contributeur
    Bonsoir
    essayez avec pur une valeur en B5 :
    =STXT(SUBSTITUE(SUBSTITUE(B5;",";"$";5);",";"_";5);TROUVE("$";SUBSTITUE(SUBSTITUE(B5;",";"$";5);",";"_";5);1)+1;NBCAR(SUBSTITUE(SUBSTITUE(B5;",";"$";5);",";"_";5))-TROUVE("_";SUBSTITUE(SUBSTITUE(B5;",";"$";5);",";"_";5);1))
    attention:
    il est possible qu'un copier coller depuis le message donne pas le no résultat

    Les signes utilisés dans substitue ( soit $ et _ ) ne doivent pas exister dans vos textes

    crdlmnt
    0
    1. Merci Vaucluse. Ca marche très bien :)
      0
    2. Opps. Il arrive que la longueur des champs change et certains caractères sont manquants lorsque ça arrive. Ou sont en trop, ça dépend. Vraiment dommage que MoreFunc ne marche pas avec Excel 2010.
      0
    3. Bonsoir,
      Juste pour proposer un peu plus court mais un peu en retard:
      =STXT(GAUCHE(A1;CHERCHE("£";SUBSTITUE(A1;",";"£";6))-1);CHERCHE("£";SUBSTITUE(A1;",";"£";5))+1;99)
      0
    4. Alors là chapeau Tontong, j'ai beau modifier les champs à côté le résultat est toujours le bon :) j'ai pas regardé en détail le contenu de la formule encore, mais les "£" ils veulent dire quoi ? merci !
      0
    5. Rien: c'est seulement un caractère qui a peu de chance d'être utilisé dans le texte.
      On pourrait prendre § ou ¤ ou µ etc.
      0