Bonjour,
Je recherche en vba à faire des sous-totaux d'une feuille comprenant 3
colonnes avec Pseudo, Date, Montant, les sous totaux étant rajoutés dans une
colonne Sous total.
Dans la colonne Pseudo le même nom peut ressortir plusieurs fois comme ceci
:
Pseudo Date Montant Sous Total
nova3 Nov-14-2006 6,97 6,97
dello Nov-14-2006 18,70
dello Nov-14-2006 12,70
dello Nov-14-2006 151,30 182,70
simmont Nov-14-2006 5,10
simmont Nov-14-2006 28,90 34.00
sosoil Nov-14-2006 4,10 4,10
J'ai testé avec cette boucle qui fonctionne bien si le pseudo apparait 2
fois...mais s'il apparait plus de 2 fois ça ne va plus!
Je devrais peut-être utiliser Index et equiv?
Sub SousTotaux()
Dim i As Integer
Sheets("Feuil6").Select
For i = Range("a65536").End(xlUp).Row - 1 To 1 Step -1
If Cells((i + 1), 1).Value <> Cells(i, 1).Value Then Cells(i, 5).Value =
Cells(i, 3).Value
If Cells((i + 1), 1).Value = Cells(i, 1).Value Then
Cells(i, 4).Value = Cells(i, 3).Value
Cells((i + 1), 4).Value = Cells((i + 1), 3).Value
LaSomme = Application.Sum(Cells(i, 4), Cells((i + 1), 4))
Cells((i + 1), 5).Value = LaSomme
End If
Next i
Columns("D:D").Select
Selection.Delete Shift:=xlToLeft
End Sub
'----------------------------------- Sub SousTotaux() Dim i#, DerLig# Dim MesNoms As Range, MesMontants As Range Dim temp$ Sheets("Feuil6").Activate DerLig = [A65536].End(3).Row Set MesNoms = Range("A2:A" & DerLig) Set MesMontants = Range("C2:C" & DerLig) For i = 2 To DerLig If Cells(i, 1).Value <> Cells(i + 1, 1).Value Then temp = Cells(i, 1).Value Cells(i, 4) = Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" & MesMontants.Address & "))") End If Next i Set MesNoms = Nothing Set MesMontants = Nothing End Sub
Bonsoir,
comme ceci peut-être
Cordialement
Steph D.
'-----------------------------------
Sub SousTotaux()
Dim i#, DerLig#
Dim MesNoms As Range, MesMontants As Range
Dim temp$
Sheets("Feuil6").Activate
DerLig = [A65536].End(3).Row
Set MesNoms = Range("A2:A" & DerLig)
Set MesMontants = Range("C2:C" & DerLig)
For i = 2 To DerLig
If Cells(i, 1).Value <> Cells(i + 1, 1).Value Then
temp = Cells(i, 1).Value
Cells(i, 4) = Evaluate("sumproduct((""" & temp & """=" &
MesNoms.Address & ")*(" & MesMontants.Address & "))")
End If
Next i
Set MesNoms = Nothing
Set MesMontants = Nothing
End Sub
'----------------------------------- Sub SousTotaux() Dim i#, DerLig# Dim MesNoms As Range, MesMontants As Range Dim temp$ Sheets("Feuil6").Activate DerLig = [A65536].End(3).Row Set MesNoms = Range("A2:A" & DerLig) Set MesMontants = Range("C2:C" & DerLig) For i = 2 To DerLig If Cells(i, 1).Value <> Cells(i + 1, 1).Value Then temp = Cells(i, 1).Value Cells(i, 4) = Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" & MesMontants.Address & "))") End If Next i Set MesNoms = Nothing Set MesMontants = Nothing End Sub
fred
OK Ca marche DesseJ Je ne connais pas la syntaxe de l'objet Range avec End(3)...pourquoi 3, DerLig = [A65536].End(3).Row ' qui définit en fait la limite de la dernière ligne utilisée????
et cette autre ligne...qui permet de faire le sous-total..je ne comprends pas???? Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" & MesMontants.Address & "))")
Merci tout de même de cette réponse rapide ;)
"DesseJ" a écrit dans le message de news:
Bonsoir,
comme ceci peut-être
Cordialement Steph D.
'----------------------------------- Sub SousTotaux() Dim i#, DerLig# Dim MesNoms As Range, MesMontants As Range Dim temp$ Sheets("Feuil6").Activate DerLig = [A65536].End(3).Row Set MesNoms = Range("A2:A" & DerLig) Set MesMontants = Range("C2:C" & DerLig) For i = 2 To DerLig If Cells(i, 1).Value <> Cells(i + 1, 1).Value Then temp = Cells(i, 1).Value Cells(i, 4) = Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" & MesMontants.Address & "))") End If Next i Set MesNoms = Nothing Set MesMontants = Nothing End Sub
OK Ca marche DesseJ
Je ne connais pas la syntaxe de l'objet Range avec End(3)...pourquoi 3,
DerLig = [A65536].End(3).Row ' qui définit en fait la limite de la
dernière ligne utilisée????
et cette autre ligne...qui permet de faire le sous-total..je ne comprends
pas????
Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" &
MesMontants.Address & "))")
Merci tout de même de cette réponse rapide ;)
"DesseJ" <DesseJ@caramail.com> a écrit dans le message de news:
1163630720.274550.272620@f16g2000cwb.googlegroups.com...
Bonsoir,
comme ceci peut-être
Cordialement
Steph D.
'-----------------------------------
Sub SousTotaux()
Dim i#, DerLig#
Dim MesNoms As Range, MesMontants As Range
Dim temp$
Sheets("Feuil6").Activate
DerLig = [A65536].End(3).Row
Set MesNoms = Range("A2:A" & DerLig)
Set MesMontants = Range("C2:C" & DerLig)
For i = 2 To DerLig
If Cells(i, 1).Value <> Cells(i + 1, 1).Value Then
temp = Cells(i, 1).Value
Cells(i, 4) = Evaluate("sumproduct((""" & temp & """=" &
MesNoms.Address & ")*(" & MesMontants.Address & "))")
End If
Next i
Set MesNoms = Nothing
Set MesMontants = Nothing
End Sub
OK Ca marche DesseJ Je ne connais pas la syntaxe de l'objet Range avec End(3)...pourquoi 3, DerLig = [A65536].End(3).Row ' qui définit en fait la limite de la dernière ligne utilisée????
et cette autre ligne...qui permet de faire le sous-total..je ne comprends pas???? Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" & MesMontants.Address & "))")
Merci tout de même de cette réponse rapide ;)
"DesseJ" a écrit dans le message de news:
Bonsoir,
comme ceci peut-être
Cordialement Steph D.
'----------------------------------- Sub SousTotaux() Dim i#, DerLig# Dim MesNoms As Range, MesMontants As Range Dim temp$ Sheets("Feuil6").Activate DerLig = [A65536].End(3).Row Set MesNoms = Range("A2:A" & DerLig) Set MesMontants = Range("C2:C" & DerLig) For i = 2 To DerLig If Cells(i, 1).Value <> Cells(i + 1, 1).Value Then temp = Cells(i, 1).Value Cells(i, 4) = Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" & MesMontants.Address & "))") End If Next i Set MesNoms = Nothing Set MesMontants = Nothing End Sub
fred
En fait pour le End(3) j'ai trouvé la réponse dans les astuces de http://dj.joss.free.fr Pour sélectionner la dernière cellule: De la colonne A [A65536].End(3).Select (4 = xlDown) (3 = xlUp) (2= xlToRight) (1= xlToLeft)
Par contre je cherche tj sur la ligne : Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" & MesMontants.Address & "))") Merci de vos éclaircissements ;)
"fred" a écrit dans le message de news: eWHv8$
OK Ca marche DesseJ Je ne connais pas la syntaxe de l'objet Range avec End(3)...pourquoi 3, DerLig = [A65536].End(3).Row ' qui définit en fait la limite de la dernière ligne utilisée????
et cette autre ligne...qui permet de faire le sous-total..je ne comprends pas???? Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" & MesMontants.Address & "))")
Merci tout de même de cette réponse rapide ;)
"DesseJ" a écrit dans le message de news:
Bonsoir,
comme ceci peut-être
Cordialement Steph D.
'----------------------------------- Sub SousTotaux() Dim i#, DerLig# Dim MesNoms As Range, MesMontants As Range Dim temp$ Sheets("Feuil6").Activate DerLig = [A65536].End(3).Row Set MesNoms = Range("A2:A" & DerLig) Set MesMontants = Range("C2:C" & DerLig) For i = 2 To DerLig If Cells(i, 1).Value <> Cells(i + 1, 1).Value Then temp = Cells(i, 1).Value Cells(i, 4) = Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" & MesMontants.Address & "))") End If Next i Set MesNoms = Nothing Set MesMontants = Nothing End Sub
En fait pour le End(3) j'ai trouvé la réponse dans les astuces de
http://dj.joss.free.fr
Pour sélectionner la dernière cellule:
De la colonne A
[A65536].End(3).Select
(4 = xlDown)
(3 = xlUp)
(2= xlToRight)
(1= xlToLeft)
Par contre je cherche tj sur la ligne :
Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" &
MesMontants.Address & "))")
Merci de vos éclaircissements ;)
"fred" <tarvel@free.fr> a écrit dans le message de news:
eWHv8$QCHHA.4292@TK2MSFTNGP06.phx.gbl...
OK Ca marche DesseJ
Je ne connais pas la syntaxe de l'objet Range avec End(3)...pourquoi 3,
DerLig = [A65536].End(3).Row ' qui définit en fait la limite de la
dernière ligne utilisée????
et cette autre ligne...qui permet de faire le sous-total..je ne comprends
pas????
Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" &
MesMontants.Address & "))")
Merci tout de même de cette réponse rapide ;)
"DesseJ" <DesseJ@caramail.com> a écrit dans le message de news:
1163630720.274550.272620@f16g2000cwb.googlegroups.com...
Bonsoir,
comme ceci peut-être
Cordialement
Steph D.
'-----------------------------------
Sub SousTotaux()
Dim i#, DerLig#
Dim MesNoms As Range, MesMontants As Range
Dim temp$
Sheets("Feuil6").Activate
DerLig = [A65536].End(3).Row
Set MesNoms = Range("A2:A" & DerLig)
Set MesMontants = Range("C2:C" & DerLig)
For i = 2 To DerLig
If Cells(i, 1).Value <> Cells(i + 1, 1).Value Then
temp = Cells(i, 1).Value
Cells(i, 4) = Evaluate("sumproduct((""" & temp & """=" &
MesNoms.Address & ")*(" & MesMontants.Address & "))")
End If
Next i
Set MesNoms = Nothing
Set MesMontants = Nothing
End Sub
En fait pour le End(3) j'ai trouvé la réponse dans les astuces de http://dj.joss.free.fr Pour sélectionner la dernière cellule: De la colonne A [A65536].End(3).Select (4 = xlDown) (3 = xlUp) (2= xlToRight) (1= xlToLeft)
Par contre je cherche tj sur la ligne : Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" & MesMontants.Address & "))") Merci de vos éclaircissements ;)
"fred" a écrit dans le message de news: eWHv8$
OK Ca marche DesseJ Je ne connais pas la syntaxe de l'objet Range avec End(3)...pourquoi 3, DerLig = [A65536].End(3).Row ' qui définit en fait la limite de la dernière ligne utilisée????
et cette autre ligne...qui permet de faire le sous-total..je ne comprends pas???? Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" & MesMontants.Address & "))")
Merci tout de même de cette réponse rapide ;)
"DesseJ" a écrit dans le message de news:
Bonsoir,
comme ceci peut-être
Cordialement Steph D.
'----------------------------------- Sub SousTotaux() Dim i#, DerLig# Dim MesNoms As Range, MesMontants As Range Dim temp$ Sheets("Feuil6").Activate DerLig = [A65536].End(3).Row Set MesNoms = Range("A2:A" & DerLig) Set MesMontants = Range("C2:C" & DerLig) For i = 2 To DerLig If Cells(i, 1).Value <> Cells(i + 1, 1).Value Then temp = Cells(i, 1).Value Cells(i, 4) = Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" & MesMontants.Address & "))") End If Next i Set MesNoms = Nothing Set MesMontants = Nothing End Sub
JB
Bonjour,
http://cjoint.com/?lqe26YiNJE
Sub soustot() [A2].Select Do While ActiveCell <> "" stotal = 0 mpseudo = ActiveCell Do While ActiveCell = mpseudo stotal = stotal + ActiveCell.Offset(0, 2) ActiveCell.Offset(1, 0).Select Loop ActiveCell.Offset(-1, 3) = stotal Loop End Sub
Cordialement JB
Bonjour, Je recherche en vba à faire des sous-totaux d'une feuille comprenant 3 colonnes avec Pseudo, Date, Montant, les sous totaux étant rajoutés d ans une colonne Sous total. Dans la colonne Pseudo le même nom peut ressortir plusieurs fois comme ceci : Pseudo Date Montant Sous Total nova3 Nov-14-2006 6,97 6,97 dello Nov-14-2006 18,70 dello Nov-14-2006 12,70 dello Nov-14-2006 151,30 182,70 simmont Nov-14-2006 5,10 simmont Nov-14-2006 28,90 34.00 sosoil Nov-14-2006 4,10 4,10 J'ai testé avec cette boucle qui fonctionne bien si le pseudo apparait 2 fois...mais s'il apparait plus de 2 fois ça ne va plus! Je devrais peut-être utiliser Index et equiv? Sub SousTotaux() Dim i As Integer Sheets("Feuil6").Select For i = Range("a65536").End(xlUp).Row - 1 To 1 Step -1 If Cells((i + 1), 1).Value <> Cells(i, 1).Value Then Cells(i, 5).Value = Cells(i, 3).Value If Cells((i + 1), 1).Value = Cells(i, 1).Value Then Cells(i, 4).Value = Cells(i, 3).Value Cells((i + 1), 4).Value = Cells((i + 1), 3).Value LaSomme = Application.Sum(Cells(i, 4), Cells((i + 1), 4)) Cells((i + 1), 5).Value = LaSomme End If Next i Columns("D:D").Select Selection.Delete Shift:=xlToLeft End Sub
Merci de votre aide
Bonjour,
http://cjoint.com/?lqe26YiNJE
Sub soustot()
[A2].Select
Do While ActiveCell <> ""
stotal = 0
mpseudo = ActiveCell
Do While ActiveCell = mpseudo
stotal = stotal + ActiveCell.Offset(0, 2)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(-1, 3) = stotal
Loop
End Sub
Cordialement JB
Bonjour,
Je recherche en vba à faire des sous-totaux d'une feuille comprenant 3
colonnes avec Pseudo, Date, Montant, les sous totaux étant rajoutés d ans une
colonne Sous total.
Dans la colonne Pseudo le même nom peut ressortir plusieurs fois comme ceci
:
Pseudo Date Montant Sous Total
nova3 Nov-14-2006 6,97 6,97
dello Nov-14-2006 18,70
dello Nov-14-2006 12,70
dello Nov-14-2006 151,30 182,70
simmont Nov-14-2006 5,10
simmont Nov-14-2006 28,90 34.00
sosoil Nov-14-2006 4,10 4,10
J'ai testé avec cette boucle qui fonctionne bien si le pseudo apparait 2
fois...mais s'il apparait plus de 2 fois ça ne va plus!
Je devrais peut-être utiliser Index et equiv?
Sub SousTotaux()
Dim i As Integer
Sheets("Feuil6").Select
For i = Range("a65536").End(xlUp).Row - 1 To 1 Step -1
If Cells((i + 1), 1).Value <> Cells(i, 1).Value Then Cells(i, 5).Value =
Cells(i, 3).Value
If Cells((i + 1), 1).Value = Cells(i, 1).Value Then
Cells(i, 4).Value = Cells(i, 3).Value
Cells((i + 1), 4).Value = Cells((i + 1), 3).Value
LaSomme = Application.Sum(Cells(i, 4), Cells((i + 1), 4))
Cells((i + 1), 5).Value = LaSomme
End If
Next i
Columns("D:D").Select
Selection.Delete Shift:=xlToLeft
End Sub
Sub soustot() [A2].Select Do While ActiveCell <> "" stotal = 0 mpseudo = ActiveCell Do While ActiveCell = mpseudo stotal = stotal + ActiveCell.Offset(0, 2) ActiveCell.Offset(1, 0).Select Loop ActiveCell.Offset(-1, 3) = stotal Loop End Sub
Cordialement JB
Bonjour, Je recherche en vba à faire des sous-totaux d'une feuille comprenant 3 colonnes avec Pseudo, Date, Montant, les sous totaux étant rajoutés d ans une colonne Sous total. Dans la colonne Pseudo le même nom peut ressortir plusieurs fois comme ceci : Pseudo Date Montant Sous Total nova3 Nov-14-2006 6,97 6,97 dello Nov-14-2006 18,70 dello Nov-14-2006 12,70 dello Nov-14-2006 151,30 182,70 simmont Nov-14-2006 5,10 simmont Nov-14-2006 28,90 34.00 sosoil Nov-14-2006 4,10 4,10 J'ai testé avec cette boucle qui fonctionne bien si le pseudo apparait 2 fois...mais s'il apparait plus de 2 fois ça ne va plus! Je devrais peut-être utiliser Index et equiv? Sub SousTotaux() Dim i As Integer Sheets("Feuil6").Select For i = Range("a65536").End(xlUp).Row - 1 To 1 Step -1 If Cells((i + 1), 1).Value <> Cells(i, 1).Value Then Cells(i, 5).Value = Cells(i, 3).Value If Cells((i + 1), 1).Value = Cells(i, 1).Value Then Cells(i, 4).Value = Cells(i, 3).Value Cells((i + 1), 4).Value = Cells((i + 1), 3).Value LaSomme = Application.Sum(Cells(i, 4), Cells((i + 1), 4)) Cells((i + 1), 5).Value = LaSomme End If Next i Columns("D:D").Select Selection.Delete Shift:=xlToLeft End Sub
Merci de votre aide
JB
Sans VBA
=SI(A2<>A3;SOMMEPROD(Montant*(pseudo¢));"")
http://cjoint.com/?lqg1GN37jl
JB
Bonjour, Je recherche en vba à faire des sous-totaux d'une feuille comprenant 3 colonnes avec Pseudo, Date, Montant, les sous totaux étant rajoutés d ans une colonne Sous total. Dans la colonne Pseudo le même nom peut ressortir plusieurs fois comme ceci : Pseudo Date Montant Sous Total nova3 Nov-14-2006 6,97 6,97 dello Nov-14-2006 18,70 dello Nov-14-2006 12,70 dello Nov-14-2006 151,30 182,70 simmont Nov-14-2006 5,10 simmont Nov-14-2006 28,90 34.00 sosoil Nov-14-2006 4,10 4,10 J'ai testé avec cette boucle qui fonctionne bien si le pseudo apparait 2 fois...mais s'il apparait plus de 2 fois ça ne va plus! Je devrais peut-être utiliser Index et equiv? Sub SousTotaux() Dim i As Integer Sheets("Feuil6").Select For i = Range("a65536").End(xlUp).Row - 1 To 1 Step -1 If Cells((i + 1), 1).Value <> Cells(i, 1).Value Then Cells(i, 5).Value = Cells(i, 3).Value If Cells((i + 1), 1).Value = Cells(i, 1).Value Then Cells(i, 4).Value = Cells(i, 3).Value Cells((i + 1), 4).Value = Cells((i + 1), 3).Value LaSomme = Application.Sum(Cells(i, 4), Cells((i + 1), 4)) Cells((i + 1), 5).Value = LaSomme End If Next i Columns("D:D").Select Selection.Delete Shift:=xlToLeft End Sub
Merci de votre aide
Sans VBA
=SI(A2<>A3;SOMMEPROD(Montant*(pseudo=A2));"")
http://cjoint.com/?lqg1GN37jl
JB
Bonjour,
Je recherche en vba à faire des sous-totaux d'une feuille comprenant 3
colonnes avec Pseudo, Date, Montant, les sous totaux étant rajoutés d ans une
colonne Sous total.
Dans la colonne Pseudo le même nom peut ressortir plusieurs fois comme ceci
:
Pseudo Date Montant Sous Total
nova3 Nov-14-2006 6,97 6,97
dello Nov-14-2006 18,70
dello Nov-14-2006 12,70
dello Nov-14-2006 151,30 182,70
simmont Nov-14-2006 5,10
simmont Nov-14-2006 28,90 34.00
sosoil Nov-14-2006 4,10 4,10
J'ai testé avec cette boucle qui fonctionne bien si le pseudo apparait 2
fois...mais s'il apparait plus de 2 fois ça ne va plus!
Je devrais peut-être utiliser Index et equiv?
Sub SousTotaux()
Dim i As Integer
Sheets("Feuil6").Select
For i = Range("a65536").End(xlUp).Row - 1 To 1 Step -1
If Cells((i + 1), 1).Value <> Cells(i, 1).Value Then Cells(i, 5).Value =
Cells(i, 3).Value
If Cells((i + 1), 1).Value = Cells(i, 1).Value Then
Cells(i, 4).Value = Cells(i, 3).Value
Cells((i + 1), 4).Value = Cells((i + 1), 3).Value
LaSomme = Application.Sum(Cells(i, 4), Cells((i + 1), 4))
Cells((i + 1), 5).Value = LaSomme
End If
Next i
Columns("D:D").Select
Selection.Delete Shift:=xlToLeft
End Sub
Bonjour, Je recherche en vba à faire des sous-totaux d'une feuille comprenant 3 colonnes avec Pseudo, Date, Montant, les sous totaux étant rajoutés d ans une colonne Sous total. Dans la colonne Pseudo le même nom peut ressortir plusieurs fois comme ceci : Pseudo Date Montant Sous Total nova3 Nov-14-2006 6,97 6,97 dello Nov-14-2006 18,70 dello Nov-14-2006 12,70 dello Nov-14-2006 151,30 182,70 simmont Nov-14-2006 5,10 simmont Nov-14-2006 28,90 34.00 sosoil Nov-14-2006 4,10 4,10 J'ai testé avec cette boucle qui fonctionne bien si le pseudo apparait 2 fois...mais s'il apparait plus de 2 fois ça ne va plus! Je devrais peut-être utiliser Index et equiv? Sub SousTotaux() Dim i As Integer Sheets("Feuil6").Select For i = Range("a65536").End(xlUp).Row - 1 To 1 Step -1 If Cells((i + 1), 1).Value <> Cells(i, 1).Value Then Cells(i, 5).Value = Cells(i, 3).Value If Cells((i + 1), 1).Value = Cells(i, 1).Value Then Cells(i, 4).Value = Cells(i, 3).Value Cells((i + 1), 4).Value = Cells((i + 1), 3).Value LaSomme = Application.Sum(Cells(i, 4), Cells((i + 1), 4)) Cells((i + 1), 5).Value = LaSomme End If Next i Columns("D:D").Select Selection.Delete Shift:=xlToLeft End Sub
Merci de votre aide
DesseJ
Bonjour Fred,
Je ne connais pas la syntaxe de l'objet Range avec End(3)...pourquoi 3, DerLig = [A65536].End(3).Row ' qui définit en fait la limite de la dernière ligne utilisée???? Oui 3 pour le XlUp
et cette autre ligne...qui permet de faire le sous-total..je ne comprends pas???? Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" & MesMontants.Address & "))") Traduction VBA de'une formule de calcul de ce type
SommeProd((A2=$A2$A10)*($C2$C10)) qui te calcule la somme de la colonne C pour le pseudo en A2 e cetera
Bonne journée Steph. D.
Bonjour Fred,
Je ne connais pas la syntaxe de l'objet Range avec End(3)...pourquoi 3,
DerLig = [A65536].End(3).Row ' qui définit en fait la limite de la
dernière ligne utilisée????
Oui 3 pour le XlUp
et cette autre ligne...qui permet de faire le sous-total..je ne comprends
pas????
Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" &
MesMontants.Address & "))")
Traduction VBA de'une formule de calcul de ce type
SommeProd((A2=$A2$A10)*($C2$C10))
qui te calcule la somme de la colonne C pour le pseudo en A2 e cetera
Je ne connais pas la syntaxe de l'objet Range avec End(3)...pourquoi 3, DerLig = [A65536].End(3).Row ' qui définit en fait la limite de la dernière ligne utilisée???? Oui 3 pour le XlUp
et cette autre ligne...qui permet de faire le sous-total..je ne comprends pas???? Evaluate("sumproduct((""" & temp & """=" & MesNoms.Address & ")*(" & MesMontants.Address & "))") Traduction VBA de'une formule de calcul de ce type
SommeProd((A2=$A2$A10)*($C2$C10)) qui te calcule la somme de la colonne C pour le pseudo en A2 e cetera
Bonne journée Steph. D.
fred
Merci à tous pour vos réponses...c'est plus clair maintenant ;)
"JB" a écrit dans le message de news:
Sans VBA
=SI(A2<>A3;SOMMEPROD(Montant*(pseudo¢));"")
http://cjoint.com/?lqg1GN37jl
JB
Bonjour, Je recherche en vba à faire des sous-totaux d'une feuille comprenant 3 colonnes avec Pseudo, Date, Montant, les sous totaux étant rajoutés dans une colonne Sous total. Dans la colonne Pseudo le même nom peut ressortir plusieurs fois comme ceci : Pseudo Date Montant Sous Total nova3 Nov-14-2006 6,97 6,97 dello Nov-14-2006 18,70 dello Nov-14-2006 12,70 dello Nov-14-2006 151,30 182,70 simmont Nov-14-2006 5,10 simmont Nov-14-2006 28,90 34.00 sosoil Nov-14-2006 4,10 4,10 J'ai testé avec cette boucle qui fonctionne bien si le pseudo apparait 2 fois...mais s'il apparait plus de 2 fois ça ne va plus! Je devrais peut-être utiliser Index et equiv? Sub SousTotaux() Dim i As Integer Sheets("Feuil6").Select For i = Range("a65536").End(xlUp).Row - 1 To 1 Step -1 If Cells((i + 1), 1).Value <> Cells(i, 1).Value Then Cells(i, 5).Value > Cells(i, 3).Value If Cells((i + 1), 1).Value = Cells(i, 1).Value Then Cells(i, 4).Value = Cells(i, 3).Value Cells((i + 1), 4).Value = Cells((i + 1), 3).Value LaSomme = Application.Sum(Cells(i, 4), Cells((i + 1), 4)) Cells((i + 1), 5).Value = LaSomme End If Next i Columns("D:D").Select Selection.Delete Shift:=xlToLeft End Sub
Merci de votre aide
Merci à tous pour vos réponses...c'est plus clair maintenant ;)
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1163656432.880132.173480@e3g2000cwe.googlegroups.com...
Sans VBA
=SI(A2<>A3;SOMMEPROD(Montant*(pseudo¢));"")
http://cjoint.com/?lqg1GN37jl
JB
Bonjour,
Je recherche en vba à faire des sous-totaux d'une feuille comprenant 3
colonnes avec Pseudo, Date, Montant, les sous totaux étant rajoutés dans
une
colonne Sous total.
Dans la colonne Pseudo le même nom peut ressortir plusieurs fois comme
ceci
:
Pseudo Date Montant Sous Total
nova3 Nov-14-2006 6,97 6,97
dello Nov-14-2006 18,70
dello Nov-14-2006 12,70
dello Nov-14-2006 151,30 182,70
simmont Nov-14-2006 5,10
simmont Nov-14-2006 28,90 34.00
sosoil Nov-14-2006 4,10 4,10
J'ai testé avec cette boucle qui fonctionne bien si le pseudo apparait 2
fois...mais s'il apparait plus de 2 fois ça ne va plus!
Je devrais peut-être utiliser Index et equiv?
Sub SousTotaux()
Dim i As Integer
Sheets("Feuil6").Select
For i = Range("a65536").End(xlUp).Row - 1 To 1 Step -1
If Cells((i + 1), 1).Value <> Cells(i, 1).Value Then Cells(i, 5).Value > Cells(i, 3).Value
If Cells((i + 1), 1).Value = Cells(i, 1).Value Then
Cells(i, 4).Value = Cells(i, 3).Value
Cells((i + 1), 4).Value = Cells((i + 1), 3).Value
LaSomme = Application.Sum(Cells(i, 4), Cells((i + 1), 4))
Cells((i + 1), 5).Value = LaSomme
End If
Next i
Columns("D:D").Select
Selection.Delete Shift:=xlToLeft
End Sub
Merci à tous pour vos réponses...c'est plus clair maintenant ;)
"JB" a écrit dans le message de news:
Sans VBA
=SI(A2<>A3;SOMMEPROD(Montant*(pseudo¢));"")
http://cjoint.com/?lqg1GN37jl
JB
Bonjour, Je recherche en vba à faire des sous-totaux d'une feuille comprenant 3 colonnes avec Pseudo, Date, Montant, les sous totaux étant rajoutés dans une colonne Sous total. Dans la colonne Pseudo le même nom peut ressortir plusieurs fois comme ceci : Pseudo Date Montant Sous Total nova3 Nov-14-2006 6,97 6,97 dello Nov-14-2006 18,70 dello Nov-14-2006 12,70 dello Nov-14-2006 151,30 182,70 simmont Nov-14-2006 5,10 simmont Nov-14-2006 28,90 34.00 sosoil Nov-14-2006 4,10 4,10 J'ai testé avec cette boucle qui fonctionne bien si le pseudo apparait 2 fois...mais s'il apparait plus de 2 fois ça ne va plus! Je devrais peut-être utiliser Index et equiv? Sub SousTotaux() Dim i As Integer Sheets("Feuil6").Select For i = Range("a65536").End(xlUp).Row - 1 To 1 Step -1 If Cells((i + 1), 1).Value <> Cells(i, 1).Value Then Cells(i, 5).Value > Cells(i, 3).Value If Cells((i + 1), 1).Value = Cells(i, 1).Value Then Cells(i, 4).Value = Cells(i, 3).Value Cells((i + 1), 4).Value = Cells((i + 1), 3).Value LaSomme = Application.Sum(Cells(i, 4), Cells((i + 1), 4)) Cells((i + 1), 5).Value = LaSomme End If Next i Columns("D:D").Select Selection.Delete Shift:=xlToLeft End Sub