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. 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
  3. 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. 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. Je viens de faire le test a priori ca marche exel 2007
        0
        1. excel est dépassé!!!
          mais via une macro, c'est possible
          0