Somme excel
bobby
-
bobby -
bobby -
Bonjour,
Je cherche à faire une somme en prenant en comtpe certains critères, et je n'ai pas encore trouver de solutions.
Je m'explique, je dispose de 3 colonnes (A,B,C) et voudrait calculer une somme sur la quatrième (D) :
- La colonne A possède autant d'identifiant que de lignes
- La colonne B sont des identifiants qui peuvent etre identiques
- La colonne c represente des surfaces.
- La colonne D est celle que j'aimerais obtenir, c'est à dire des surfaces en fonction de l'identifiant B (lorsque il yen a plusieurs identique, il fait la somme des surfaces de ceux-ci)
A B C D
1 122 200 200
2 123 300 400
3 123 100 400
4 124 50 50
5 125 30 30
voila j'espère que j'ai été clair.
Merci d'avance pour votre aide.
Je cherche à faire une somme en prenant en comtpe certains critères, et je n'ai pas encore trouver de solutions.
Je m'explique, je dispose de 3 colonnes (A,B,C) et voudrait calculer une somme sur la quatrième (D) :
- La colonne A possède autant d'identifiant que de lignes
- La colonne B sont des identifiants qui peuvent etre identiques
- La colonne c represente des surfaces.
- La colonne D est celle que j'aimerais obtenir, c'est à dire des surfaces en fonction de l'identifiant B (lorsque il yen a plusieurs identique, il fait la somme des surfaces de ceux-ci)
A B C D
1 122 200 200
2 123 300 400
3 123 100 400
4 124 50 50
5 125 30 30
voila j'espère que j'ai été clair.
Merci d'avance pour votre aide.
Configuration: Windows Vista Internet Explorer 7.0
A voir également:
- Somme excel
- Excel somme colonne - Guide
- Somme en anglais excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
5 réponses
Salut,
Tu insères cette fonction dans un module ou tu l'affectes à un bouton, as you want!!!
J'ai supposé que ton calcul devait commencer en première ligne... Sinon remplace A1 par A2 ou A3 etc...
Sub sommesi()
Dim derlign As String, valeur As String
Dim i As Integer
derlign = ActiveSheet.Range("A65536").End(xlUp).Row
ActiveSheet.Range("A1").Select
Do While ActiveCell <> ""
valeur = "=" & ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(0, 3).FormulaR1C1 = _
"=SUMIF(RC[-2]:R[" & derlign & "]C[-2],""" & valeur & """,RC[-1]:R[" & derlign & "]C[-1])"
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Tu insères cette fonction dans un module ou tu l'affectes à un bouton, as you want!!!
J'ai supposé que ton calcul devait commencer en première ligne... Sinon remplace A1 par A2 ou A3 etc...
Sub sommesi()
Dim derlign As String, valeur As String
Dim i As Integer
derlign = ActiveSheet.Range("A65536").End(xlUp).Row
ActiveSheet.Range("A1").Select
Do While ActiveCell <> ""
valeur = "=" & ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(0, 3).FormulaR1C1 = _
"=SUMIF(RC[-2]:R[" & derlign & "]C[-2],""" & valeur & """,RC[-1]:R[" & derlign & "]C[-1])"
ActiveCell.Offset(1, 0).Select
Loop
End Sub
merci ça a marché... enfin presque!!
A 830126*01022 719,00000000 719
B 830126*01023 650,00000000 650
C 830126*01024 438,00000000 438
D 830126*01025 1545,00000000 4396
E 830126*01025 294,00000000 2851
F 830126*01025 1645,00000000 2557
G 830126*01025 912,00000000 912
H 830126*01026 375,00000000 375
I 830126*01031 9957,00000000 9957
J 830126*01100 143,00000000 143
K 830126*01101 278,00000000 278
Pour la ligne D il me fait bien la somme, mais pas pour E,F,G
A savoir aussi que j'ai un tableau avec 1000 lignes, donc des fois la somme peut se faire sur 5 lignes, 4 lignes, ...
merci de ton aide
A 830126*01022 719,00000000 719
B 830126*01023 650,00000000 650
C 830126*01024 438,00000000 438
D 830126*01025 1545,00000000 4396
E 830126*01025 294,00000000 2851
F 830126*01025 1645,00000000 2557
G 830126*01025 912,00000000 912
H 830126*01026 375,00000000 375
I 830126*01031 9957,00000000 9957
J 830126*01100 143,00000000 143
K 830126*01101 278,00000000 278
Pour la ligne D il me fait bien la somme, mais pas pour E,F,G
A savoir aussi que j'ai un tableau avec 1000 lignes, donc des fois la somme peut se faire sur 5 lignes, 4 lignes, ...
merci de ton aide
C'est de ma faute....... Voici le bon code à insérer dans ton module :
Sub sommesi()
Dim derlign As String, valeur As String, premlign As String
Dim i As Integer
premlign = 0
derlign = ActiveSheet.Range("A65536").End(xlUp).Row
ActiveSheet.Range("A1").Select
Do While ActiveCell <> ""
valeur = "=" & ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(0, 3).FormulaR1C1 = _
"=SUMIF(R[" & premlign & "]C[-2]:R[" & derlign & "]C[-2],""" & valeur & """,R[" & premlign & "]C[-1]:R[" & derlign & "]C[-1])"
ActiveCell.Offset(1, 0).Select
premlign = premlign - 1
Loop
End Sub
Sub sommesi()
Dim derlign As String, valeur As String, premlign As String
Dim i As Integer
premlign = 0
derlign = ActiveSheet.Range("A65536").End(xlUp).Row
ActiveSheet.Range("A1").Select
Do While ActiveCell <> ""
valeur = "=" & ActiveCell.Offset(0, 1).Value
ActiveCell.Offset(0, 3).FormulaR1C1 = _
"=SUMIF(R[" & premlign & "]C[-2]:R[" & derlign & "]C[-2],""" & valeur & """,R[" & premlign & "]C[-1]:R[" & derlign & "]C[-1])"
ActiveCell.Offset(1, 0).Select
premlign = premlign - 1
Loop
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question