Somme une ligne sur deux

  • Initiateur de la discussion Euhhh !
  • Date de début
E

Euhhh !

Guest
Bonsoir tout le monde,

J'ai une question basique pour vous ...
Comment traduire : 'faire la somme d'une ligne sur deux' sans avoir à sélectionner chaque cellule ?

Merci d'avance.
 

porcinet82

XLDnaute Barbatruc
Salut,

Avec une formule je sais pas trop, mais en vba, ca donnerai quelque chose du genre :
Code:
Sub calc()
Dim i As Integer

For i = 1 To Range('a65536').End(xlUp).Row Step 2
    x = Cells(i, 1).Value + x
Next i
Range('a65536').End(xlUp).Offset(1, 0).Value = x
End Sub

En admettant que tes données soient en colonne A a partir de la première ligne, et le resultat etant mis dans la dernière cellule vide cette meme colonne.

@+
 

wooper

XLDnaute Nouveau
Re : Somme une ligne sur deux

Bonjour,

Comme l'auteur du poste je cherche à faire une somme d'une ligne sur deux. Je ne connais rien en vba, je suis donc partis sur la recherche de formules.
Les formules de Monique fonctionnent parfaitement sur des colones qui sont remplies par des chiffres mais je n'arrive pas à les faire fonctionner car j'ai des formules dans les cases.

Si quelqu'un à une piste sur cette base de formule ca serait super !

D'avance merci !
 

Tibo

XLDnaute Barbatruc
Re : Somme une ligne sur deux

Bonjour wooper et bienvenue,

Le fait que tes cellules contiennent des formules n'est pas un problème.

L'essentiel est que ces formules renvoient un nombre.

Si problème persiste, il faudrait nous joindre un petit bout de fichier exemple pour comprendre ton problème.

Le fichier à joindre : zippé de préférence, sans données confidentielles et taille < à 48.8 ko

A te (re)lire

@+
 

wilfried_42

XLDnaute Barbatruc
Re : Somme une ligne sur deux

bonjour à tous


C'est surement que tu dois avoir des Formule du style :

=Si(A1="";"";A3*A2)

à remplacer avec :

=si(A1="";0;A3*A2)

Pour masquer les Zeros qui ne font pas joli
2 solutions
1 - Menu Outil / Options ---> onglet affichage : decocher afficher les zeros
2 - selectionner la plage : Menu Format / Mise en forme conditionnelle

1 le cellule est : choisir egal à dans la deuxieme liste, mettre 0 dans la valeur
2 choisir un format couleur de caractere identique à la couleur du fond

Edit : voici 2 formules matricielles qui se moque s'il y a des valeurs texte

à valider en appuyant simultanemment sur Ctrl + Shift + Entrée

=SOMME(SI(MOD(LIGNE(C1:C25);2)=0;0;C1:C25)) ' lignes impaires
=SOMME(SI(MOD(LIGNE(C1:C25);2)=0;C1:C25;0)) ' lignes paires
 
Dernière édition:

Monique

Nous a quitté
Repose en paix
Re : Somme une ligne sur deux

Bonjour,

Avec SommeProd "normal",
sans valider par ctrl, maj et entrée
et en gardant les formules qui renvoient "" ou du texte

Lignes paires :
=SOMMEPROD((MOD(LIGNE(C$1:C$20);2)=0)*1;C$1:C$20)

Lignes impaires :
=SOMMEPROD((MOD(LIGNE(C$1:C$20);2)=1)*1;C$1:C$20)
ou bien
=SOMMEPROD((MOD(LIGNE(C$1:C$20);2))*1;C$1:C$20)
 

Xertou

XLDnaute Nouveau
Re : Somme une ligne sur deux

Bonjour à tous,

C’est mon premier post, même si cela fait maintenant pas mal de temps que je vous suis dans vos conversations. Alors encore une fois bonjour à toutes et à tous :p.

Ce fil étant tout frais, je me permets de vous poser une petite question.
L’addition d'une ligne sur deux fonctionne parfaitement pour autant que l'on ne rajoute pas de ligne avant la première ligne la matrice. Dès lors qu'une ligne est ajoutée, la formule matricielle additionnant les lignes paires va additionner les lignes impaires.

Je cherche depuis maintenant plusieurs jours à devenir indépendant des lignes qui pourraient être ajoutées avant.

En gros, additionner les lignes paires de manière relative. La première ligne de ma matrice serait une ligne impaire (même si celle-ci se trouve sur la ligne 4 de mon tableau).

Avez-vous compris mon charabia :confused: ?

@+
 

sylca

XLDnaute Nouveau
Re : Re:Somme une ligne sur deux

Bonjour,

Par formule

Lignes paires :
=SOMMEPROD((MOD(LIGNE(B$1:B$20);2)=0)*B$1:B$20)

Lignes impaires :
=SOMMEPROD((MOD(LIGNE(B$1:B$20);2)=1)*B$1:B$20)
=SOMMEPROD((MOD(LIGNE(B$1:B$20);2))*B$1:B$20)

Bonjour,

Je ne comprends pas cette formule (qui marche bien, ceci étant).
Lignes renvoi un numéro de ligne, mod renvoi la partie décimale d'une division et sommeprod semble faire un produit entre 2 matrices.
Je suppose que le 2ème argument est la table où on veut faire la somme d'une ligne sur deux, et que la formule du 1er argument sert à faire une matrice de 0 et de 1 alternés mais je ne comprends pas vraiment.
LIGNE(B$1:B$20) renvoi un N° de ligne, mais lequel dans ce range ?
pour les lignes paires, j'ai l'impression qu'on divise le N° de ligne par 2, si c'est pair, alors la partie décimale est nulle, d'où le "=0" dans la formule, mais je ne vois pas de test.
Je suis un peu perdu. Si une âme charitable pouvait m'éclairer, je lui en serais très reconnaissant !

Merci d'avance.
Sylca
 

Discussions similaires

Réponses
2
Affichages
107