Excel, somme speciale.

Résolu
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   -  
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   -
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

A voir également:

6 réponses

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

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

OK, excuses moi, je regarde dans la journée( je suis / un autre truc)
0
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   36
 
oui oui ,ne t'inquiete pas, prend ton temps ;)
0
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
excel est dépassé!!!
mais via une macro, c'est possible
0
fabiocap1982 Messages postés 412 Date d'inscription   Statut Membre Dernière intervention   38
 
Je viens de faire le test a priori ca marche exel 2007
0
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   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
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
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
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   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
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
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
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   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
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
ca marche pas à cause de ta variable
colonnemax.

A quoi est égal colonnemax???
0
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   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