Somme de colonnes
grosnul
-
grosnul -
grosnul -
Bonjour,
le titre n'est certe pas très explicite, alors voilà:
sous excel , je souhaite faire une macro qui par exemple additionne des colones comme suit:
colonnes |A | B | C | D
je veux des colonnes qui donnent | A+B | A+C | A+D | B+C | B+D | C+D
en fait chaque colonne est additionnée une fois avec la suivante
évidemment, pour corser, le nombre de colonnes au départ peut varier...
Il y a une formule m athématique pour calculer le nombre de colonnes finales qui est
( (x*x)+x)/2 )-x
par exemple si au départ j'ai 5 colonnes, cela fera 10 colonnes à la fin.
en fait le nombre de colonnes finales c'est aussi (tjs pour 5) : 1+2+3+4=10
et pour 6 : 1+2+3+4+5=15
Merci de vos réponse . Une piste de réflexion serait déjà bienvenue...peut être la réponse existe t'elle quelque part ?
le titre n'est certe pas très explicite, alors voilà:
sous excel , je souhaite faire une macro qui par exemple additionne des colones comme suit:
colonnes |A | B | C | D
je veux des colonnes qui donnent | A+B | A+C | A+D | B+C | B+D | C+D
en fait chaque colonne est additionnée une fois avec la suivante
évidemment, pour corser, le nombre de colonnes au départ peut varier...
Il y a une formule m athématique pour calculer le nombre de colonnes finales qui est
( (x*x)+x)/2 )-x
par exemple si au départ j'ai 5 colonnes, cela fera 10 colonnes à la fin.
en fait le nombre de colonnes finales c'est aussi (tjs pour 5) : 1+2+3+4=10
et pour 6 : 1+2+3+4+5=15
Merci de vos réponse . Une piste de réflexion serait déjà bienvenue...peut être la réponse existe t'elle quelque part ?
A voir également:
- Somme de colonnes
- Formule somme excel colonne - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Comment faire des colonnes sur word - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Somme si couleur - Guide
6 réponses
Bonjour,
Juste au passage, le A+B est la somme des colonnes et ou vous placez le résultat ?
Et combien de lignes par colonnes (A,B,C,D) .... y a-t-il le même nombre de lignes par colonnes ?
Et aussi, qu'elle en est l'application qui utilise ces résultats ?
Salutations.
Le Pingou
Juste au passage, le A+B est la somme des colonnes et ou vous placez le résultat ?
Et combien de lignes par colonnes (A,B,C,D) .... y a-t-il le même nombre de lignes par colonnes ?
Et aussi, qu'elle en est l'application qui utilise ces résultats ?
Salutations.
Le Pingou
Bonjour,
Je ne sais pas si cela pourra t'aider :
http://www.cijoint.fr/cjlink.php?file=cj201109/cijZZ7BeDH.xls
Dans ton message, tu ne précises pas s'il y a une seule somme par colonne ou plusieurs lignes dans chaque colonne.
A+
pépé
Je ne sais pas si cela pourra t'aider :
http://www.cijoint.fr/cjlink.php?file=cj201109/cijZZ7BeDH.xls
Dans ton message, tu ne précises pas s'il y a une seule somme par colonne ou plusieurs lignes dans chaque colonne.
A+
pépé
Bonjour,
Avec dans la ligne 1 le nom de colonne (A, B, ...etc.)
Cette procédure ou vous devez encore introduire la ligne de calcul à la place de la variable [res].
Avec dans la ligne 1 le nom de colonne (A, B, ...etc.)
Cette procédure ou vous devez encore introduire la ligne de calcul à la place de la variable [res].
Sub sommecol()
nbcol = Cells(1, Rows(1).Cells.Count).End(xlToLeft).Column
ReDim List_col(1 To nbcol) As Variant
For i = 1 To nbcol
List_col(i) = Cells(1, i)
Next i
pa = 1
ad = 2
For pa = 1 To nbcol - 1
For c = ad To nbcol
res = List_col(pa) + List_col(c)
MsgBox " la somme des colonne " & res
Next c
ad = ad + 1
Next pa
End Sub
Bonjour,
et merci pour vos réponses (certains travaillent très très tard !)
LE PINGOU et PEPE
Pour le fond, c'est ça !
pour la forme si possible ça ressemblerait à ceci:
on a sur la feuil1, par exemple
| A | B | C | ...
| 10| 2 | 5 | ...
| 20| 4 | 10| ...
| 25| 6 | 15| ...
et sur la feuil2, on obtient le résultat :
| AB | AC | BC | ...
| 12 | 15 | 07 | ...
| 24 | 30 | 14 |
| 31 | 40 | 21 | ...
etc...
et voilà !
En tout cas, c'est merveilleux de simplicité, même si je ne comprends pas tout
Si (cerise sur le gateau) vous pouviez me montrer juste la logique des boucles
je ne comprends pas pourquoi une fois les A+... on passe à B sans repasser par A...
je crois que ça se joue entre "pa" et "ad", boucles imbriquées ?
Et donc encore merci !
PS : puis-je vous demander avec quel bouquin vous avez appris le VBA ?
et merci pour vos réponses (certains travaillent très très tard !)
LE PINGOU et PEPE
Pour le fond, c'est ça !
pour la forme si possible ça ressemblerait à ceci:
on a sur la feuil1, par exemple
| A | B | C | ...
| 10| 2 | 5 | ...
| 20| 4 | 10| ...
| 25| 6 | 15| ...
et sur la feuil2, on obtient le résultat :
| AB | AC | BC | ...
| 12 | 15 | 07 | ...
| 24 | 30 | 14 |
| 31 | 40 | 21 | ...
etc...
et voilà !
En tout cas, c'est merveilleux de simplicité, même si je ne comprends pas tout
Si (cerise sur le gateau) vous pouviez me montrer juste la logique des boucles
je ne comprends pas pourquoi une fois les A+... on passe à B sans repasser par A...
je crois que ça se joue entre "pa" et "ad", boucles imbriquées ?
Et donc encore merci !
PS : puis-je vous demander avec quel bouquin vous avez appris le VBA ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
A la base 5 colonnes (A, B, C, D et E), dans une première boucle externe on prendra en compte les 4 premières colonnes (A, B ,C et D) et dans une boucle interne à la première sur les 4 dernières (B, C,D et E).
A la fin de la boucle interne les résultats (A-B, A-C, A-D et A-E9).
Début de la deuxième boucle externe avec la colonne (B) et pour la boucle interne on décale de 1colonne soit (C, D et E). Ce qui donne (B-C, B-D et B-E). Et ainsi de suite.
La variable (pa) est le compteur de la boucle externe, (c) celui de la boucle interne qui est incrémenté par l'index de passage (ad).
Vous devez encore réaliser le calcul souhaité au niveau de la ligne (res) et placer le résultat en feuille 2.
Note: pas de bouquin mais l'aide fournie avec le logiciel et de la recherche sur divers site plus beaucoup de curiosité avec des essaies pour voir ce qui se passe....!
Salutations.
Le Pingou
A la base 5 colonnes (A, B, C, D et E), dans une première boucle externe on prendra en compte les 4 premières colonnes (A, B ,C et D) et dans une boucle interne à la première sur les 4 dernières (B, C,D et E).
A la fin de la boucle interne les résultats (A-B, A-C, A-D et A-E9).
Début de la deuxième boucle externe avec la colonne (B) et pour la boucle interne on décale de 1colonne soit (C, D et E). Ce qui donne (B-C, B-D et B-E). Et ainsi de suite.
La variable (pa) est le compteur de la boucle externe, (c) celui de la boucle interne qui est incrémenté par l'index de passage (ad).
Vous devez encore réaliser le calcul souhaité au niveau de la ligne (res) et placer le résultat en feuille 2.
Note: pas de bouquin mais l'aide fournie avec le logiciel et de la recherche sur divers site plus beaucoup de curiosité avec des essaies pour voir ce qui se passe....!
Salutations.
Le Pingou
Bonjour,
Essayez cette procédure pour voir ... !
Essayez cette procédure pour voir ... !
Sub sommecol()
Dim sh2 As Worksheet
Set sh2 = Sheets("Feuil2")
nbcol = Cells(1, Rows(1).Cells.Count).End(xlToLeft).Column
nbli = Cells(Columns(1).Cells.Count, 1).End(xlUp).Row
ReDim List_col(1 To nbcol) As Variant
ReDim somcol(1 To nbli - 1) As Long
For i = 1 To nbcol
List_col(i) = Cells(1, i).Column
Next i
pa = 1: nc = 1
ad = 2
For pa = 1 To nbcol - 1
For c = ad To nbcol
For s = 2 To nbli
somcol(s - 1) = Cells(s, List_col(pa)) + Cells(s, List_col(c))
Next s
With sh2
.Range(.Cells(1, nc), .Cells(nbli - 1, nc)) = Application.Transpose(somcol)
nc = nc + 1
End With
Next c
ad = ad + 1
Next pa
Set sh2 = Nothing
End Sub