Addition de céllule de 2 colonnes différentes

Résolu
pitive -  
 pitive -
Bonjour,

J'ai créé un tableau ou dans la céllule J35, je dois additionner, une céllule qui se trouve en colonne J avant J35, (J34; J33 ou J32) avec la céllule I35.
Mon probléme c'est que suivant les données dans un cas J34, J33, J32 ne sera pas rempli donc il faudra faire J31+I35. Et dans d'autres cas tout sera rempli et il faudra faire J34+I35.
Y as-t-il une formule ou on additionne avec la dernière céllule rempli ?

Merci

2 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour

    si vos cellules sont remplies "à la suite", c'est à dire de J1 à J4 sans sauter de cellule:
    en J35
    =I35+INDEX(J31:J34;NB.SI(J31:J34;"<>0")
    ou
    =I35+INDEX(J31:J34;NB.SI(J31:J34;"<>
    si vous avez des valeurs négatives.")

    crdlmnt
    ne sommes nous pas seuls à comprendre ce que l'on explique?
    0
    1. pitive
       
      Tout d'abord merci de m'aider.
      Mais ta formule de fonctionnde pas.
      en effet :
      J25, J26, J27,J28,J29 sont remplis.
      J30, J31, J32, J33, J34 sont vide.
      Donc J doit être égal à J29+I35 à savoir en effet que J29 est négatif.
      Avec votre 1ere formule il m'additionne J25+I35. et non J29+i35

      Votre 2 ème formule, il me "VALEUR"
      0
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    A priori vous ne dites pas tout....et c'est bien dommage pour ceux qui essaie de vous aider!

    déjà vous parlez de J25 à J29 alors que votre premier message commence à J32!!!

    tant qu'on y est on peut aussi vous demander si les cellules que vous dites vides contiennent ou non des formules et si oui quelles sont elles?

    après ça, vous pourrez voir que sur le modèle joint, le système fonctionne correctement dans les conditions que vous avez données. Mais s'il y en a d'autres il serait temps de le dire!
    voir de J25 à J35

    mais bien sur si vous avez un champ plus grand il faut ajuster la formule!

    https://www.cjoint.com/?BGDsveWPVLs
    0
    1. pitive
       
      Je suis désolé je ne pensais pas que ca avait de l'importance que les céllules avait des formules.
      Ci-joint mon tableau
      http://cjoint.com/?BGDsLqxQehl

      avec encore toutes mes excuses pour ce contre temps
      0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Pas de quoi être désolé, va on s'en remettra :-)

      non seulement les cellules avec formules ne peuvent pas être considérées comme vide, mais selon votre tableau; ma proposition n'est pas applicable et il va falloir des infos complémentaires!!!!

      1°) la liste des valeurs est elle à considérer depuis la ligne 21 ou depuis la ligne 23 ou pourquoi pas depuis la ligne 19?
      2°) pourquoi la ligne 22 est elle sans valeur, peut elle recevoir une valeur de temps en temps?
      3°) il y a t il d'autre cas ou des cellules sans valeur peuvent s'intercaler entre des cellules valorisées?

      Parce que là, avec votre tableau, ça risque d'être plus compliqué que prévu!!D'où l'importance des réponses aux questions.

      donc on attend les réponses.
      à vous lire.
      0
    3. pitive
       
      1/La formule est à prendre en compte depuis la ligne 21
      2/ Non la ligne le 22 de recevra pas de valeur, juste pour une raison de présentation
      3/Non, pas dans ce tableau, mais j'aimerais comprendre la formule car j'en aurait utilité dans d'autres tableaux.

      Merci de ta patience
      0
    4. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   957
       
      Salut le forum

      Un essai avec :
      (Recherche la dernière valeur numérique de la plage J22:J34)
      =I35+RECHERCHEV(9^9;$J$22:$J$34;1)

      Mytå
      0
    5. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Ca semble fonctionner avec en J35

      =I35+INDEX(J21:J34;15-NB.SI(J21:J34;""))
      quelques explications:
      la formule INDEX:
      base du principe:
      =INDEX(Champ;N° de ligne dans le champ;N° de colonne dans le champ)
      ressort la valeur du champ au croisement des lignes et colonnes spécifiées

      ici, INDEX ressort la valeur du champ J21:J34 sur la ligne du champ dont le rang est défini par l'ensemble NB.SI;
      (le champ n'ayant qu'une colonne, il n'y a pas de besoin d'information colonne)

      NB.SI(J21:J24;"") compte le nombre de cellules contenant le résultats ""
      pour avoir le rang de la dernière cellule avec résultat il faut compter le nombre de cellule valorisées et rajouter un pour la ligne 22
      le nombre total de cellule du champ est de 14
      le nombre de cellule valorisées est donc obtenu avec: 14-NB.SI(J21:J34;"")
      comme il faut rajouter la 22 on part de 15 au lieu de 14

      le code
      15-NB.SI(J21:J24;"") donne donc le range de la ligne à considérer dans le champ J21:J34 et renseigne donc le code INDEX

      note: vous risquez des problèmes d'affichage #VALEUR avec ce que vous utilisez dans vos formules. Une formule de calcul ne peut pas s'appuyer sur un résultat ""' pour établir un résultat.
      vous avez plusieurs solutions pour éviter ça
      soit remplacer le "" par 0, lais cela vous interdit d'utiliser la valeur 0 comme valeur utile
      soit écrire les formules avec un code d'élimination si le résultat est #VALEUR:
      =SI(ESTERREUR(votre formule);"";votre formule)

      j'espère avoir été clair , mais ce n'est pas toujours facile d'expliquer les combinaisons de formule

      Bonne route
      n'hésitez pas à revenir si besoins.
      Bien cordialement
      0