Decouper chaque addition dans une somme

Résolu
stephane -  
 stephane -
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. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    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
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  3. stephane
     
    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
  4. stephane
     
    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