J'ai un tableau dont le nom de mes clients se trouvent en colonne F ( allant
de F7 à l'infini)
et le montant des factures correspondant se trouvant en colonne I ( allant
de I7 à l'infini).
j 'aimerai qu'une macro me reprenne les noms des clients sans doublons en
colonne A et me mette le cumul de factures pour chaque client en colonne B
dans une feuille appelée "CA2010"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour achille,
Sub Macro1() Dim c As Range, Client As Range, Facture As Range
With Sheets("Feuil1") '<--------------Adapter au nom de la feuille du tableau Set Client = .Range("F7:F" & .Range("F65536").End(xlUp).Row) Set Facture = .Range("I7:I" & .Range("I65536").End(xlUp).Row) ActiveWorkbook.Names.Add Name:="cl", RefersTo:=Client ActiveWorkbook.Names.Add Name:="fact", RefersTo:úcture End With
With Sheets("CA2010") Client.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("A1"), Unique:=True For Each c In .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Range("B" & c.Row).Formula = "=SumProduct((cl =" & c.Address & ") * (fact))" Next End With End Sub
J'ai un tableau dont le nom de mes clients se trouvent en colonne F ( allant de F7 à l'infini) et le montant des factures correspondant se trouvant en colonne I ( allant de I7 à l'infini).
j 'aimerai qu'une macro me reprenne les noms des clients sans doublons en colonne A et me mette le cumul de factures pour chaque client en colonne B dans une feuille appelée "CA2010"
est possible?
merci d'avance!
bonjour achille,
Sub Macro1()
Dim c As Range, Client As Range, Facture As Range
With Sheets("Feuil1") '<--------------Adapter au nom de la feuille du
tableau
Set Client = .Range("F7:F" & .Range("F65536").End(xlUp).Row)
Set Facture = .Range("I7:I" & .Range("I65536").End(xlUp).Row)
ActiveWorkbook.Names.Add Name:="cl", RefersTo:=Client
ActiveWorkbook.Names.Add Name:="fact", RefersTo:úcture
End With
With Sheets("CA2010")
Client.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("A1"),
Unique:=True
For Each c In .Range("A1:A" & .Range("A65536").End(xlUp).Row)
.Range("B" & c.Row).Formula = "=SumProduct((cl =" & c.Address & ") *
(fact))"
Next
End With
End Sub
J'ai un tableau dont le nom de mes clients se trouvent en colonne F ( allant
de F7 à l'infini)
et le montant des factures correspondant se trouvant en colonne I ( allant
de I7 à l'infini).
j 'aimerai qu'une macro me reprenne les noms des clients sans doublons en
colonne A et me mette le cumul de factures pour chaque client en colonne B
dans une feuille appelée "CA2010"
Sub Macro1() Dim c As Range, Client As Range, Facture As Range
With Sheets("Feuil1") '<--------------Adapter au nom de la feuille du tableau Set Client = .Range("F7:F" & .Range("F65536").End(xlUp).Row) Set Facture = .Range("I7:I" & .Range("I65536").End(xlUp).Row) ActiveWorkbook.Names.Add Name:="cl", RefersTo:=Client ActiveWorkbook.Names.Add Name:="fact", RefersTo:úcture End With
With Sheets("CA2010") Client.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("A1"), Unique:=True For Each c In .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Range("B" & c.Row).Formula = "=SumProduct((cl =" & c.Address & ") * (fact))" Next End With End Sub
J'ai un tableau dont le nom de mes clients se trouvent en colonne F ( allant de F7 à l'infini) et le montant des factures correspondant se trouvant en colonne I ( allant de I7 à l'infini).
j 'aimerai qu'une macro me reprenne les noms des clients sans doublons en colonne A et me mette le cumul de factures pour chaque client en colonne B dans une feuille appelée "CA2010"
est possible?
merci d'avance!
achille
merci ca marche nikel
"isabelle" a écrit dans le message de news: imfjse$qmh$
bonjour achille,
Sub Macro1() Dim c As Range, Client As Range, Facture As Range
With Sheets("Feuil1") '<--------------Adapter au nom de la feuille du tableau Set Client = .Range("F7:F" & .Range("F65536").End(xlUp).Row) Set Facture = .Range("I7:I" & .Range("I65536").End(xlUp).Row) ActiveWorkbook.Names.Add Name:="cl", RefersTo:=Client ActiveWorkbook.Names.Add Name:="fact", RefersTo:úcture End With
With Sheets("CA2010") Client.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("A1"), Unique:=True For Each c In .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Range("B" & c.Row).Formula = "=SumProduct((cl =" & c.Address & ") * (fact))" Next End With End Sub
J'ai un tableau dont le nom de mes clients se trouvent en colonne F ( allant de F7 à l'infini) et le montant des factures correspondant se trouvant en colonne I ( allant de I7 à l'infini).
j 'aimerai qu'une macro me reprenne les noms des clients sans doublons en colonne A et me mette le cumul de factures pour chaque client en colonne B dans une feuille appelée "CA2010"
est possible?
merci d'avance!
merci ca marche nikel
"isabelle" <i@v.org> a écrit dans le message de news:
imfjse$qmh$1@speranza.aioe.org...
bonjour achille,
Sub Macro1()
Dim c As Range, Client As Range, Facture As Range
With Sheets("Feuil1") '<--------------Adapter au nom de la feuille du
tableau
Set Client = .Range("F7:F" & .Range("F65536").End(xlUp).Row)
Set Facture = .Range("I7:I" & .Range("I65536").End(xlUp).Row)
ActiveWorkbook.Names.Add Name:="cl", RefersTo:=Client
ActiveWorkbook.Names.Add Name:="fact", RefersTo:úcture
End With
With Sheets("CA2010")
Client.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("A1"),
Unique:=True
For Each c In .Range("A1:A" & .Range("A65536").End(xlUp).Row)
.Range("B" & c.Row).Formula = "=SumProduct((cl =" & c.Address & ") *
(fact))"
Next
End With
End Sub
J'ai un tableau dont le nom de mes clients se trouvent en colonne F (
allant
de F7 à l'infini)
et le montant des factures correspondant se trouvant en colonne I (
allant
de I7 à l'infini).
j 'aimerai qu'une macro me reprenne les noms des clients sans doublons en
colonne A et me mette le cumul de factures pour chaque client en colonne
B
dans une feuille appelée "CA2010"
"isabelle" a écrit dans le message de news: imfjse$qmh$
bonjour achille,
Sub Macro1() Dim c As Range, Client As Range, Facture As Range
With Sheets("Feuil1") '<--------------Adapter au nom de la feuille du tableau Set Client = .Range("F7:F" & .Range("F65536").End(xlUp).Row) Set Facture = .Range("I7:I" & .Range("I65536").End(xlUp).Row) ActiveWorkbook.Names.Add Name:="cl", RefersTo:=Client ActiveWorkbook.Names.Add Name:="fact", RefersTo:úcture End With
With Sheets("CA2010") Client.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("A1"), Unique:=True For Each c In .Range("A1:A" & .Range("A65536").End(xlUp).Row) .Range("B" & c.Row).Formula = "=SumProduct((cl =" & c.Address & ") * (fact))" Next End With End Sub
J'ai un tableau dont le nom de mes clients se trouvent en colonne F ( allant de F7 à l'infini) et le montant des factures correspondant se trouvant en colonne I ( allant de I7 à l'infini).
j 'aimerai qu'une macro me reprenne les noms des clients sans doublons en colonne A et me mette le cumul de factures pour chaque client en colonne B dans une feuille appelée "CA2010"
est possible?
merci d'avance!
MichD
Bonjour,
Une variante :
Tu adaptes le nom de la feuille source et de destination si nécessaire.
'------------------------------------------ Sub test() Dim DerLig As Long Application.ScreenUpdating = False With Worksheets("Feuil1") 'Feuille source des données DerLig = .Range("A65536").End(xlUp).Row With .Range("A1:A" & DerLig) .AdvancedFilter xlFilterCopy, , Feuil2.Range("A1"), True End With .Range("A2:A" & DerLig).Name = "MLesNoms" .Range("B2:B" & DerLig).Name = "MLesDonnées" End With With Worksheets("Feuil2") 'feuille de destination des données .Range("B1") = "Total" .Range("B2").Formula = "=Sumproduct((MLesNoms=" & _ .Range("A2").Address(0, 0) & ")*(MLesDonnées))" With .Range("B2:B" & .Range("A65536").End(xlUp).Row) .FillDown .Value = .Value With .Offset(, -1).Resize(, 2) .Sort Key1:=.Item(2, 1), _ order1:=xlAscending, Header:=xlNo .EntireRow.AutoFit End With End With End With Application.Names("MLesNoms").Delete Application.Names("MLesDonnées").Delete Application.ScreenUpdating = True End Sub '------------------------------------------
MichD -------------------------------------------- "achille" a écrit dans le message de groupe de discussion : 4d8b4409$0$7721$
Bonjour
J'ai un tableau dont le nom de mes clients se trouvent en colonne F ( allant de F7 à l'infini) et le montant des factures correspondant se trouvant en colonne I ( allant de I7 à l'infini).
j 'aimerai qu'une macro me reprenne les noms des clients sans doublons en colonne A et me mette le cumul de factures pour chaque client en colonne B dans une feuille appelée "CA2010"
est possible?
merci d'avance!
Bonjour,
Une variante :
Tu adaptes le nom de la feuille source et de destination si nécessaire.
'------------------------------------------
Sub test()
Dim DerLig As Long
Application.ScreenUpdating = False
With Worksheets("Feuil1") 'Feuille source des données
DerLig = .Range("A65536").End(xlUp).Row
With .Range("A1:A" & DerLig)
.AdvancedFilter xlFilterCopy, , Feuil2.Range("A1"), True
End With
.Range("A2:A" & DerLig).Name = "MLesNoms"
.Range("B2:B" & DerLig).Name = "MLesDonnées"
End With
With Worksheets("Feuil2") 'feuille de destination des données
.Range("B1") = "Total"
.Range("B2").Formula = "=Sumproduct((MLesNoms=" & _
.Range("A2").Address(0, 0) & ")*(MLesDonnées))"
With .Range("B2:B" & .Range("A65536").End(xlUp).Row)
.FillDown
.Value = .Value
With .Offset(, -1).Resize(, 2)
.Sort Key1:=.Item(2, 1), _
order1:=xlAscending, Header:=xlNo
.EntireRow.AutoFit
End With
End With
End With
Application.Names("MLesNoms").Delete
Application.Names("MLesDonnées").Delete
Application.ScreenUpdating = True
End Sub
'------------------------------------------
MichD
--------------------------------------------
"achille" a écrit dans le message de groupe de discussion : 4d8b4409$0$7721$ba4acef3@reader.news.orange.fr...
Bonjour
J'ai un tableau dont le nom de mes clients se trouvent en colonne F ( allant
de F7 à l'infini)
et le montant des factures correspondant se trouvant en colonne I ( allant
de I7 à l'infini).
j 'aimerai qu'une macro me reprenne les noms des clients sans doublons en
colonne A et me mette le cumul de factures pour chaque client en colonne B
dans une feuille appelée "CA2010"
Tu adaptes le nom de la feuille source et de destination si nécessaire.
'------------------------------------------ Sub test() Dim DerLig As Long Application.ScreenUpdating = False With Worksheets("Feuil1") 'Feuille source des données DerLig = .Range("A65536").End(xlUp).Row With .Range("A1:A" & DerLig) .AdvancedFilter xlFilterCopy, , Feuil2.Range("A1"), True End With .Range("A2:A" & DerLig).Name = "MLesNoms" .Range("B2:B" & DerLig).Name = "MLesDonnées" End With With Worksheets("Feuil2") 'feuille de destination des données .Range("B1") = "Total" .Range("B2").Formula = "=Sumproduct((MLesNoms=" & _ .Range("A2").Address(0, 0) & ")*(MLesDonnées))" With .Range("B2:B" & .Range("A65536").End(xlUp).Row) .FillDown .Value = .Value With .Offset(, -1).Resize(, 2) .Sort Key1:=.Item(2, 1), _ order1:=xlAscending, Header:=xlNo .EntireRow.AutoFit End With End With End With Application.Names("MLesNoms").Delete Application.Names("MLesDonnées").Delete Application.ScreenUpdating = True End Sub '------------------------------------------
MichD -------------------------------------------- "achille" a écrit dans le message de groupe de discussion : 4d8b4409$0$7721$
Bonjour
J'ai un tableau dont le nom de mes clients se trouvent en colonne F ( allant de F7 à l'infini) et le montant des factures correspondant se trouvant en colonne I ( allant de I7 à l'infini).
j 'aimerai qu'une macro me reprenne les noms des clients sans doublons en colonne A et me mette le cumul de factures pour chaque client en colonne B dans une feuille appelée "CA2010"
'----------------------------------------- Sub test() Dim DerLig As Long Application.ScreenUpdating = False With Worksheets("Feuil1") 'Feuille source des données à adapter DerLig = .Range("F65536").End(xlUp).Row With .Range("F7:F" & DerLig) .AdvancedFilter xlFilterCopy, , Feuil2.Range("A1"), True End With .Range("F7:F" & DerLig).Name = "MLesNoms" .Range("i7:i" & DerLig).Name = "MLesDonnées" End With With Worksheets("CA2010") 'feuille de destination des données .Range("A1:A" & .Range("A65536").End(xlUp).Row). _ Sort key1:=.Range("A2"), order1:=xlAscending, Header:=xlYes .Range("B1") = "Total" .Range("B2").Formula = "=Sumproduct((MLesNoms=" & _ .Range("A2").Address(0, 0) & ")*1,(MLesDonnées))" With .Range("B2:B" & .Range("A65536").End(xlUp).Row) .FillDown .Value = .Value With .Offset(, -1).Resize(, 2) .EntireColumn.AutoFit End With End With
End With Application.Names("MLesNoms").Delete Application.Names("MLesDonnées").Delete Application.ScreenUpdating = True End Sub '-----------------------------------------
'-----------------------------------------
Sub test()
Dim DerLig As Long
Application.ScreenUpdating = False
With Worksheets("Feuil1") 'Feuille source des données à adapter
DerLig = .Range("F65536").End(xlUp).Row
With .Range("F7:F" & DerLig)
.AdvancedFilter xlFilterCopy, , Feuil2.Range("A1"), True
End With
.Range("F7:F" & DerLig).Name = "MLesNoms"
.Range("i7:i" & DerLig).Name = "MLesDonnées"
End With
With Worksheets("CA2010") 'feuille de destination des données
.Range("A1:A" & .Range("A65536").End(xlUp).Row). _
Sort key1:=.Range("A2"), order1:=xlAscending, Header:=xlYes
.Range("B1") = "Total"
.Range("B2").Formula = "=Sumproduct((MLesNoms=" & _
.Range("A2").Address(0, 0) & ")*1,(MLesDonnées))"
With .Range("B2:B" & .Range("A65536").End(xlUp).Row)
.FillDown
.Value = .Value
With .Offset(, -1).Resize(, 2)
.EntireColumn.AutoFit
End With
End With
End With
Application.Names("MLesNoms").Delete
Application.Names("MLesDonnées").Delete
Application.ScreenUpdating = True
End Sub
'-----------------------------------------
'----------------------------------------- Sub test() Dim DerLig As Long Application.ScreenUpdating = False With Worksheets("Feuil1") 'Feuille source des données à adapter DerLig = .Range("F65536").End(xlUp).Row With .Range("F7:F" & DerLig) .AdvancedFilter xlFilterCopy, , Feuil2.Range("A1"), True End With .Range("F7:F" & DerLig).Name = "MLesNoms" .Range("i7:i" & DerLig).Name = "MLesDonnées" End With With Worksheets("CA2010") 'feuille de destination des données .Range("A1:A" & .Range("A65536").End(xlUp).Row). _ Sort key1:=.Range("A2"), order1:=xlAscending, Header:=xlYes .Range("B1") = "Total" .Range("B2").Formula = "=Sumproduct((MLesNoms=" & _ .Range("A2").Address(0, 0) & ")*1,(MLesDonnées))" With .Range("B2:B" & .Range("A65536").End(xlUp).Row) .FillDown .Value = .Value With .Offset(, -1).Resize(, 2) .EntireColumn.AutoFit End With End With
End With Application.Names("MLesNoms").Delete Application.Names("MLesDonnées").Delete Application.ScreenUpdating = True End Sub '-----------------------------------------