Decouper chaque addition dans une somme

Résolu
Bonjour,

un casse tête pour les pros que vous êtes !

J'ai un logiciel tiers que m'extrait une colonne avec des sommes

exemple de ce que contiens une cellule dans cette colonne
=1.7*3.3+2.5*3.3+3.8*3.3+2.7*3.3+4.4*3.3+1.1*3.3+1.7*3.3
nota important le nombre de somme dans mes cellules n'est pas contant

1er temps, je voudrais isoler chaque sommes
"donnée" "convertir" avec le "+" comme séparateur ferrai l'affaire sauf que le première cellule garde le "=" et ca me gène
avez vous une solution ?

2eme temps, je voudrai supprimer le *3.3
il faudrait donc supprimer tout ce que se trouve après le * dans chaque cellule
(nota on ne peut pas s'appuyer sur le format de 3 caractères (3.3) après le "*" c'est variable, ca pourrai être 3.3 ou 6800 ou 54 par contre tout ce qui se situe après le "*" peut être supprimé )

le but de tout ceci étant d'obtenir sur une ligne une suite de cellule comme ceci
1.7 / 2.5 / 3.8 / 2.7 / 4.4 / 1.1 / 1.7

je ne sait pas si c'est possible, mais l'idéal serai une méthode qui sans passer par "donnée" "convertir", permette de faire tout ca en une foi?

merci a ceux qui se penchent sur mon problème

stephane

4 réponses

  1. Contributeur
    Bonjour Stephane

    En cellule B1 mettre cette formule

    =DROITE(GAUCHE(A1;TROUVE("-";SUBSTITUE($A$1;"*3.3+";"-";1);1)-1);3)

    En C1 la formule

    =DROITE(GAUCHE($A$1;TROUVE("-";SUBSTITUE($A$1;"*3.3+";"-";COLONNE()-1);1)-1);3)

    à tirer jusqu'à la cellule H1

    En H1 modifier la formule comme ceci

    =DROITE(GAUCHE($A$1;TROUVE("-";SUBSTITUE($A$1;"*3.3";"-";COLONNE()-1);1)-1);3)

    A adapter pour 6800 et 54 à la place de 3.3

    C'est en forgeant que l'on devient forgeron. -   C'est au pied du mur que l'on voit le maçon - on apprend toujours de ses erreurs
    0
    1. Contributeur
      Bonjour pour traiter un champ, une solution:
      si on commence en A1 en B1 à tirer sur la hauteur

      =SUBSTITUE(SUBSTITUE(A1&"+";"*3.3+";" ");"=";"")

      ensuite copier B :B et faire un collage spécial valeur sur C
      la colonne C peut alors être traité par convertir avec le blanc pour délimiter

      ou encore:
      • sélectionner A:A
      • touche ctrl et touche H
      • remplacer: taper *3,3+
      • par: taper un blanc

      et refaire la même opération avec
      • remplacer taper =
      • par ne rien mettre


      et on retrouve la même colonne que C

      crdlmnt
      0
      1. merci Vaucluse et Philou,
        vos 2 approches sont très intéressantes

        philou ca fonctionne si ma première formule n'a pas de "="
        si j'utilise avant =SUBSTITUE(FORMULETEXTE(A1);"=";"") ca ne fonctionne pas non plus.
        Je suis contrant de faire:
        une première colonne avec =SUBSTITUE(FORMULETEXTE(A1);"=";"")
        une deuxième colonne copier coller valeur
        puis je mets ta formule que j'adapte
        ce qui m'embête c'est que je gère pas "le nombre de somme" (modifier a chaque ligne la formule de la dernière colonne est problématique)
        De plus tes $ dans ta formule m'empêche de tirer vers le bas pour l'ensemble de la colonne
        0
        1. Vaucluse en B:B moi ca me donne

          un résultat "#valeur!" (si dans A1 j'ai un "=")
          un résultat "Faux" si j'ai pas de "="
          mais avec ce que tu m'as expliqué hier, moi je peux faire comme ca
          en A1 j'ai
          =1.1*3.3+1.2*3.3+1.3*3.3+1.4*3.3+1.5*3.3+1.6*3.3+1.7*3.3
          en B1(je vire le "=")
          =SUBSTITUE(FORMULETEXTE(A1);"=";"")
          en C1 (je vire le *3.3+)
          =SUBSTITUE(B1;"*3.3+";" ")
          en D1 (je vire le "*3.3")
          =SUBSTITUE(C1;"*3.3";" ")
          en E1 je fais copier coller valeur
          en F1...L1 je fais le convertir
          je me rend compte que a partir de C1,
          je ne fais rien de mieux que ce que tu faisait dans ta 2eme solution avec "remplacer"
          Mais au moins avec "convertir" ca gére toutes les sommes
          ca reste dommage d'avoir a faire toute ces manip ...
          merci encore
          0