Excel: comment additionner nombre

Bonjour,

Je souhaiterai savoir si il était possible d'entrer un nombre dans une cellule (A1 par exemple) et d'avoir le résultat en A2.
Mais je souhaiterai pouvoir rentrer a nouveau un nombre en A1 et qu'en A2 m'affiche le résultat de l'ancien nombre A1+ le nouveau A1 et ainsi de suite.

Je ne sais pas, si j'ai été clair, et si c'est réalisable, mais toute idée est la bien venu.

Je vous remercie par avance

Pat

3 réponses

  1. Contributeur
    Bonjour,

    Oui, c'est réalisable. Pour cela il faut dans A2 mettre la formule =A1+A2 et dans outils/ options onglet calcul autoriser les références circulaires en cochant la case "itération"
    edit : nombre maxi d'itérations mettre 1

    A+
    Cordialement,
    1. Merci c'est ce que je cherché, mais cela m'affecte toute feuille.
      Je rentres un nombre dans n'importe quel cellule, et la formule en A2 me le prend en compte.

      C'est possible de l'imité cette "itération" a 2 cellule uniquement?

      Merci
    2. Contributeur
      On peut adapter la formule en mettant: :
      dans A2 la formule suivante =SI(CELLULE("adresse")="$A$1";A1+A2;A2)

      CELLULE("adresse") donne l'adresse de la dernière cellule modifiée.

      C'est un peu folklorique, une solution plus propre est d'utiliser le VBA qui permet mieux de gérer l'événementiel.

      A+
  2. Bonsoir,

    Je peux te proposer une solution un peu artisanale : au lieu de réaliser le calcul de manière automatique (= à chaque validation d'une cellule quelconque par "Entrée" le calcul A1+A2 se fait), tu le réalises de manière manuelle.

    Pour cela (sous Excel 2007) : bouton office => Options Excel => Formules => Manuel (rubrique "Mode de calcul")

    Ainsi, tu peux modifier toutes les cellules que tu veux, ça n'impacte pas sur A1+A2. Par contre, quand tu veux faire le calcul, il te faut presser la touche F9.

    ... C'est artisanal, mais ça fonctionne !
    1. Contributeur
      Bonsoir,

      outre la formule un peu tirée par les cheveux
      =SI(CELLULE("adresse")="$A$1";A1+A2;A2)

      La solution en VBA est la suivante.
      Dans le code associé à la feuille (par clic bouton droit sur l'onglet de la feuille et "visualiser le code")
      copier et coller la macro :
      Private Sub Worksheet_Change(ByVal Target As Range)  
          If Target = Range("A1") Then  
              Range("A2").Value = Range("A2").Value + Range("A1").Value  
          End If  
      End Sub


      Pour être parfait il faudrait ajouter un petit traitement d'erreur

      A+

      Cordialement,