Aide formule suite a l'utilisation de la formule substitue

0

Bonjour,

Voici mon problème :

C25 : 15/15/7/12 (je ne peux pas modifier cette cellule car le but est de garder cette mise en forme)
D25 : =SUBSTITUE(C25;"/";"+") ce qui me donne : 15+15+7+12

Je ne sais pas comment demander à Excel de faire le calcul de mon résultat en D25. Autrement dit j’aimerai qu’en E25 il y ait un résultat de 49 en faisant : =somme(15+15+7+12) → résultat de ma cellule D25…

Le but final est d’avoir en visuel :
C25 : 15/15/7/12 
D25 : 15+15+7+12 (qui sera une colonne masquée)
E25 : 49

J’espère que vous aurez compris ma question…

Merci d’avance.


    Posté le 4 décembre, 23:05
    par ani
    Répondre
    0

    Bonjour Ani,

    Voici la formule à mettre en E25 :

    =CNUM(GAUCHE(C25;2))+CNUM(STXT(C25;4;2))+CNUM(STXT(C25;7;1))+CNUM(DROITE(C25;2))

    Il faut, naturellement, que toutes les données de base soient de format identique.

    Bonne continuation

    Chris

    CHRIS Posté le 5 décembre, 00:46
    par CHRIS
    0

    Bonjour ani, Chris,

    si c'est toujours 4 nombres dont le 3ème est d'un seul chiffre et les autres
    nombres
    de 2 chiffres, alors la formule de Chris est ok.  :)  par contre, si le
    nombre de chiffres des 4 nombres peut varier, il faut une autre méthode ;
    voici donc une solution plus générale :

    * choisir n'importe quelle cellule, par exemple A1.
    Ctrl F3 ➯ fenêtre "Gestionnaire de noms" ; clic / bouton "Nouveau".
    * pour Nom : mettre par exemple RSL (abréviation de Résultat).
    * pour Zone : laisser Classeur.
    * pour Fait référence à : remplacer ce qu'il y a déjà par ceci :
    =EVALUER(Feuil1!$D$25)
    * clic / bouton "OK", puis clic / bouton "Fermer".

    formule en E25 : =RSL ➯ 49

    ça marchera même si le nombre de chiffres de chaque nombre
    est différent ; ça marchera aussi avec 1 seul nombre, 2 nombres,
    3 nombres, 4 nombres, 5 nombres, ou plus…

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    bien sûr, en D25, il y a la formule initiale : =SUBSTITUE(C25;"/";"+")

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    si C25 est vide : D25 est vide, et en E25 : #VALEUR!

    pour éviter l'affichage de cette valeur d'erreur :

    formule en E25 : =SI(C25="";"";RSL)

    rhodo

    rhodo Posté le 5 décembre, 01:52
    par rhodo
    0

    ajout : voici une autre solution sans la colonne masquée,
    donc sans la formule de D25 ; d'où un résultat en D25 :

    en C25 : 15/15/7/12
    en D25 : =RSL ➯ 49

    cette fois, pour le nom défini RSL, "Fait référence à :" doit être :

    =SIERREUR(EVALUER(SUBSTITUE(Feuil1!$C$25;"/";"+"));"")

    (la cellule E25 n'est plus utilisée)

    rhodo Posté le 5 décembre, 02:42
    par rhodo
    0

    Pour info, la fonction EVALUER n'est pas dispo jusqu'à la version d'Excel 365 2410

    Posté le 5 décembre, 22:43
    par Nain_Porte_Koi
    • la fonction EVALUER() est disponible depuis Excel 2003 ; j'ai actuellement Excel 2021, et je trouve que le prix d'un abonnement à Microsoft 365 est bien trop cher sur le long terme ! – rhodo 5 décembre, 23:26
    • Hello, J'ai 365 2410 et la fonction EVALUER n'est pas (plus ?) reconnue https://www.cjoint.com/c/NLgle0BIqpo – Nain_Porte_Koi 6 décembre, 12:06
    • Au temps pour moi, je n'avais pas compris qu'il fallait utiliser EVALUER dans le gestionnaire de nom, je mettais la formule directement dans une cellule – Nain_Porte_Koi 6 décembre, 12:15
    0

    autre solution qui n'utilise pas EVALUER
    =SOMME(CNUM(FRACTIONNER.TEXTE(C25;"/")))

    Posté le 5 décembre, 22:54
    par Nain_Porte_Koi
    • sur mon Excel 2021, je n'ai pas la fonction FRACTIONNER.TEXTE() ; alors je préfère quand même la fonction EVALUER(), qui existait DÉJÀ depuis Excel 2003, sans doute même avant car ça fait partie du langage de macros XL4. – rhodo 5 décembre, 23:32
    • Sans FRACTIONNER.TEXTE une fonction personnalisée Dans une module VBA Function Calcule(z As Range) Calcule = Evaluate(Replace(z.Text, "/", "+")) End Function Dans la feuille : =Calcule(C25) – Nain_Porte_Koi 6 décembre, 12:27

    Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
    Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :