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.
A voir également:
- Somme excel
- Formule somme excel ligne - Guide
- Liste déroulante excel - Guide
- Somme si couleur excel - Guide
- Word et excel gratuit - Guide
- Somme en anglais 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 je vais essayer de suite, mais je suis assez debutant!
Pour créer un module il faut faire une macro c'est bien ça?
merci pour ton aide je te tiens au courant!
Pour créer un module il faut faire une macro c'est bien ça?
merci pour ton aide je te tiens au courant!
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