Excel, somme speciale.

Résolu
Ctesias Messages postés 786 Statut Membre -  
Ctesias Messages postés 786 Statut Membre -
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. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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. Ctesias Messages postés 786 Statut Membre 36
       
      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. Ctesias Messages postés 786 Statut Membre 36
       
      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. Ctesias Messages postés 786 Statut Membre 36
       
      Nouvelle formule trouvée et appliqué:
      =SOMMEPROD((MOD(COLONNE(L7:IO7);3)=0)*L7:IO7)

      NE m'affiche que des #valeur!
      0
    4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Bonjour,

      OK, excuses moi, je regarde dans la journée( je suis / un autre truc)
      0
    5. Ctesias Messages postés 786 Statut Membre 36
       
      oui oui ,ne t'inquiete pas, prend ton temps ;)
      0
  2. melanie1324 Messages postés 1561 Statut Membre 156
     
    excel est dépassé!!!
    mais via une macro, c'est possible
    0
  3. fabiocap1982 Messages postés 477 Statut Membre 38
     
    Je viens de faire le test a priori ca marche exel 2007
    0
  4. Ctesias Messages postés 786 Statut Membre 36
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Ctesias Messages postés 786 Statut Membre 36
     
    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
  7. melanie1324 Messages postés 1561 Statut Membre 156
     
    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. Ctesias Messages postés 786 Statut Membre 36
       
      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. melanie1324 Messages postés 1561 Statut Membre 156
       
      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. Ctesias Messages postés 786 Statut Membre 36
       
      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. melanie1324 Messages postés 1561 Statut Membre 156
       
      ca marche pas à cause de ta variable
      colonnemax.

      A quoi est égal colonnemax???
      0
    5. Ctesias Messages postés 786 Statut Membre 36
       
      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