Excel, somme speciale.

Résolu
Bonjour,

Voila, je m'explique. J'ai besoin de vos lumières car j'ai un problème sur ma fonction somme. Haha. vous me dirais que je suis nul. Le problème, c'est que j'ai des cases à additionner sur 80 colonnes, avec intervalle de 2 cases entre chaques. Le problème n'etant pas la. Il semblerait par contre, que 80 colonnes soit trop pour excel... Est-ce moi qui me suit planté ou excel qui est dépassé?

Merci d'avance,

Ctesias

6 réponses

  1. Contributeur
    Bonjour

    Excel n'est pas dépassé.... surtout avec une formule classique

    additionne les colonnes paires sur 80 colonnes
    =SOMMEPROD((MOD(COLONNE(A1:CB1);2)=0)*(A1:CV1))
    les colonnes impaires
    =SOMMEPROD((MOD(COLONNE(A1:CB1);2)<>0)*(A1:CV1))

    Michel
    2
    1. Bonjour,

      Merci de la réponse et de l'intéret que tu porte. Le problème, c'est que les colonnes paires et impaires, ca ne marchera pas. En effet, j'ai 3 colonnes différentes... :s
      0
    2. Bon, avec une fonction normal, il veux pas me la valider...

      =SOMME(L7;O7;R7;U7;X7;AA7;AD7;AG7;AJ7;Am7;AP7;AS7;AV7;AY7;BB7;BE7;BH7;BK7;BN7;BQ7;BT7;BW7;BZ7;CC7;CF7;CI7;CL7;CO7;CR7;CU7;CX7;DA7;DD7;DG7;DM7;DP7;DS7;DV7;DY7;EB7;EE7;EH7;EK7;EN7;EQ7;ET7;EW7;EZ7;FC7;FF7;FI7;FL7;FO7;FR7;FU7;FX7;GA7;GD7;GG7;Gi7;Gm7;GP7;GS7;GV7;HB7;HE7;HH7;HK7;HN7;HQ7;HT7;HW7;HZ7;IC7;IF7;IL7;IO7)
      0
    3. Nouvelle formule trouvée et appliqué:
      =SOMMEPROD((MOD(COLONNE(L7:IO7);3)=0)*L7:IO7)

      NE m'affiche que des #valeur!
      0
    4. Contributeur
      Bonjour,

      OK, excuses moi, je regarde dans la journée( je suis / un autre truc)
      0
    5. oui oui ,ne t'inquiete pas, prend ton temps ;)
      0
  2. excel est dépassé!!!
    mais via une macro, c'est possible
    0
    1. Je viens de faire le test a priori ca marche exel 2007
      0
      1. C'ets bien ce que je pensé. J'ai commencé a faire ma macro. Le problème, c'est que j'arrive pas à la déclencher quand une cellule change... :s
        0
        1. j'ai excel 2000 ^^'

          ET comment fait-on pour activer une macro lors d'un changement de cellule?

          J'ai fait ca pour l'instant:

          Private Sub Worksheet_SelectionChange(ByVal Target As Range)
          Dim colonne As Integer
          
          colonne = Columns(2).Find(ref, Range("B65536")).Row
          
          Cells(15, 8).Value = colonne
          
          End Sub


          Bon, le contenu ne fais rien, je sais bien, mais sinon, c'ets bien Worksheet_SelectionChange ?
          0
          1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
            Dim colonne As Integer

            if target.column = 2 then 'si ton changement se produit dans la colonne 1 si évidemment tes sommes concernent la 2, si c'est pas 2 mets le chiffre qui te conveint

            i=2
            total = 0

            do while cells(i,2) <> ""
            total = total + cells(i,2)
            i=i+2
            loop

            cells(i,2) = total

            end if
            End Sub
            0
            1. Personellement, j'ia préférer faire comme ca :

              Private Sub Worksheet_SelectionChange(ByVal Target As Range)
              Dim colonne As Integer
              Dim ligne As Integer
              Dim colonnemax As Integer
              Dim somme As Integer
              
              colonne = ActiveCell.Column
              ligne = ActiveCell.Row
              colonnemax = Range("IV4").End(xlToLeft).Column - 4
              somme = 0
              
              For i = colonne To colonnemax Step 3
              somme = Cells(ligne, i) + somme
              Next
              Cells(ligne, colonnemax + 3).Value = somme
              End Sub


              Peut-tu me dire si il est bon? car je ne vois rien qui ne se passe...
              0
            2. il est bon mais une question, ton code, l'as tu mis dans la feuille en question??

              Quand tu es dans visual basic editor, à gauche, cliques sur la feuille concernée et mets ton code à cet endroit.

              Si ca ne marche pas remplace :

              colonne = ActiveCell.Column
              ligne = ActiveCell.Row

              par colonne = target.column
              ligne =target.row
              0
            3. Je l'ai mis dans la feuille ou les cellules sont sencés changer.

              Ok, je vais essayer de voir en remplacant ce que tu m'a dit.

              Edit: le changement ne marche pas :s
              0
            4. ca marche pas à cause de ta variable
              colonnemax.

              A quoi est égal colonnemax???
              0
            5. Suite a mes echecs répétés, j'ai totalement abandonné cette idée. Je suis entrain d'essayer des formules (cf plus haut discussion avec michel_m)
              0