Réaliser une opération excell aléatoire

Résolu
Bonjour,
Pourriez vous m'aider à faire un calcul dont le signe opératoire est présent dans une cellule?

ma feuille excell ressemble à ça:*

terme 1 opération terme 2 égal résultat
43 + 74 = 77

Sachant que l'opération est fixée aléatoirement, comment obtenir le résultat automatiquement?

J'ai tenté =A1B1C1 ---> erreur
aussi =A1(B1)C1
aussi=A1(=CHOISIR(ENT(ALEA()*4+1);"+";"-";"*";"/"))C1

Merci d'avance pour votre aide.
ju

4 réponses

  1. Contributeur
    salut le forum

    Avec une macro XL4

    Sélectionne A4
    Dans Insertion > Nom définir

    Total fait référence à =EVALUER(A1 & A2 & A3)

    En A4 il suffit d'écrire =Total

    Mytå
    1. Bonjour,

      Dans A, B1 C1 j'ai entré la formule :

      =ALEA.ENTRE.BORNES(1;4)

      A1 donnera le premier nombre, B1 le code opération et C1 le deuxième nombre.

      En D1 la formule :
      =SI(B1=1;A1+C1;SI(B1=2;A1/C1;SI(B1=3;A1*C1;A1-C1)))

      permet de calculer les différentes combinaisons.

      Tu peux aussi utiliser la formule choisir

      =CHOISIR(B1;A1+C1;A1/C1;A1*C1;A1-C1)
      A+

      pépé
      1. Merci beaucoup Pepe, tu as été d'une trés grande aide.

        Merci Eriic aussi, mais je ne sais pas bien utiliser vba. aussi, je n'arrive pas à trouver ce qu'à posté myta. merci quand même.

        a +
        ju
        1. Contributeur
          Re le forum

          Ma solution érait en commentaire sous ta question

          Avec une macro XL4

          Sélectionne A4
          Dans Insertion > Nom définir

          Total fait référence à =EVALUER(A1 & A2 & A3)

          En A4 il suffit d'écrire =Total

          Mytå
      2. en A1 entrer le premier facteur
        en B1 entrer le deuxième facteur
        en C1 entrer : =ALEA.ENTRE.BORNES(1;4)
        en D1 entrer : =SI(C1=1;A1+B1;SI(C1=2;A1-B1;SI(C1=3;A1*B1;A1/B1)))

        A+

        pépé
        1. merci Pépé pour ta réponse rapide.
          En fait, en A1 j'ai un =ALEA.ENTRE.BORNES(1;4)
          en B1=CHOISIR(ENT(ALEA()*4+1);"+";"-";"*";"/")
          en C1=ALEA.ENTRE.BORNES(1;4)

          en D& je souhaite avoir mon résultat en rapport avec l'opération en B1
          J'ai testé et adapté ta solution ainsi:
          =SI(B1="+";(A1+C1);SI(B1="-";(A1-C1);SI(C1="*";(A1*C1);(A1/C1))))

          Mais cela me provoque un message d'erreur.

          merci encore
          ju
        2. J'ai réussi à donner une valeur numérique pour les opération .
          donc en A1 j'ai le premier terme, en B1 l'opération aléatoire , en C1 le second eterme, et en F1 la valeur numérique de l'opération.

          j'ai transformé la formule de pépé en:
          =SI(f2=1;A2/C2;SI(F2=2;A2*C2;SI(F2=3;A2+C2;A2-C2)))

          mais j'obtiens toujours un message d'erreur.

          merci
          ju
        3. Contributeur
          Bonjour,

          tu devrais utiliser la macro xl4 evaluer() proposée par myta (sous ta question).
          Il faut absolument écrire la formule dans la définition d'un nom et non dans une cellule.
          eric