Dans la macro qui suit, si la cellule en colonne A15 est semblable =E0
la cellule en A14 par exemple, je peux additionner les valeurs
comprises dans la colonne B15 avec la valeur en B14 et ainsi =E9limuner
la ligne 15 afin de ne garder qu'un seul total et ne pas avoir de
doublons dans la colonne A.
Cependant, je voudrais que les valeurs comprises dans les colonnes B
jusqu'=E0 BK puissent s'additionner. Comment faire pour ne pas
r=E9p=E9ter :
Cells(i - 1, 2).Value =3D Cells(i - 1, 2).Value + Cells(i, 2).Value
en ajoutant
Cells(i - 1, 3).Value =3D Cells(i - 1, 3).Value + Cells(i, 3).Value
etc... ?
Dim i As Long
For i =3D Range("a65536").End(xlUp).Row To 2 Step -1
If Cells(i, 1).Value =3D Cells(i - 1, 1).Value Then
Cells(i - 1, 2).Value =3D Cells(i - 1, 2).Value + Cells(i,
2).Value
Rows(i).Delete
End If
Next
End Sub
Juste une petite chose que j'ai probablement mal précisé. Je voudrais que la colonne 2 s'additionne avec la colonne 2, la colonne 3 avec la trois, etc jusqu'à la colonne 62. En fait, si le nom en A34 est le même qu'en A33 par exemple, alors B33= B33+B34, C33Ã3+C34 etc....
Je vais quand même travbailler avec ce que tu m'as donné et essayer de le modifier...
Merci
Denys
On Sep 14, 8:35 am, Denys <denys.perrea...@rbc.com> wrote:
Bonjour Denis,
Juste une petite chose que j'ai probablement mal précisé. Je voudrais
que la colonne 2 s'additionne avec la colonne 2, la colonne 3 avec la
trois, etc jusqu'à la colonne 62. En fait, si le nom en A34 est le
même qu'en A33 par exemple, alors B33= B33+B34, C33=C33+C34 etc....
Je vais quand même travbailler avec ce que tu m'as donné et essayer de
le modifier...
Juste une petite chose que j'ai probablement mal précisé. Je voudrais que la colonne 2 s'additionne avec la colonne 2, la colonne 3 avec la trois, etc jusqu'à la colonne 62. En fait, si le nom en A34 est le même qu'en A33 par exemple, alors B33= B33+B34, C33Ã3+C34 etc....
Je vais quand même travbailler avec ce que tu m'as donné et essayer de le modifier...
Merci
Denys
michdenis
Si tu es toujours à la recherche d'une solution, essaie ceci :
Tu adaptes le nom de la feuille dans la procédure !
'--------------------------------------- Sub Test() Dim DerLig As Long, DerCol As Integer Dim Rg As Range, i As Long, a As Long Dim Plg As Range, NoCol As Integer, ModCal As String
With Feuil1 'Nom feuille à adapter DerLig = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row DerCol = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column Set Rg = .Range("A5", .Cells(DerLig, DerCol)) End With With Rg .Sort Key1:=.Item(1, 1), Order1:=xlAscending, _ Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _ Orientation:=xlTopToBottom, DataOption1:=xlSortNormal End With For i = Rg.Rows.Count To 1 Step -1 If Rg(i, 1) = Rg(i - 1, 1) And i >= 1 Then a = a + 1 Else If a > 0 Then Set Plg = Rg(i, 2).Resize(a + 1, 62) For Each col In Plg.Columns NoCol = NoCol + 1 Plg(1, NoCol).Value = Application.Sum(col) Next Rg(i + 1, 1).Resize(a).EntireRow.Delete NoCol = 0 a = 0 End If End If Next Application.Calculation = ModCal Application.EnableEvents = True Application.ScreenUpdating = True
"Denys" a écrit dans le message de groupe de discussion :
On Sep 14, 8:35 am, Denys wrote:
Bonjour Denis,
Juste une petite chose que j'ai probablement mal précisé. Je voudrais que la colonne 2 s'additionne avec la colonne 2, la colonne 3 avec la trois, etc jusqu'à la colonne 62. En fait, si le nom en A34 est le même qu'en A33 par exemple, alors B33= B33+B34, C33Ã3+C34 etc....
Je vais quand même travbailler avec ce que tu m'as donné et essayer de le modifier...
Merci
Denys
Si tu es toujours à la recherche d'une solution, essaie ceci :
Tu adaptes le nom de la feuille dans la procédure !
'---------------------------------------
Sub Test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range, i As Long, a As Long
Dim Plg As Range, NoCol As Integer, ModCal As String
With Feuil1 'Nom feuille à adapter
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A5", .Cells(DerLig, DerCol))
End With
With Rg
.Sort Key1:=.Item(1, 1), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End With
For i = Rg.Rows.Count To 1 Step -1
If Rg(i, 1) = Rg(i - 1, 1) And i >= 1 Then
a = a + 1
Else
If a > 0 Then
Set Plg = Rg(i, 2).Resize(a + 1, 62)
For Each col In Plg.Columns
NoCol = NoCol + 1
Plg(1, NoCol).Value = Application.Sum(col)
Next
Rg(i + 1, 1).Resize(a).EntireRow.Delete
NoCol = 0
a = 0
End If
End If
Next
Application.Calculation = ModCal
Application.EnableEvents = True
Application.ScreenUpdating = True
"Denys" <denys.perreault@rbc.com> a écrit dans le message de groupe de discussion :
e6a11d12-962a-403f-a924-39a398b9c1f2@q9g2000vbd.googlegroups.com...
On Sep 14, 8:35 am, Denys <denys.perrea...@rbc.com> wrote:
Bonjour Denis,
Juste une petite chose que j'ai probablement mal précisé. Je voudrais
que la colonne 2 s'additionne avec la colonne 2, la colonne 3 avec la
trois, etc jusqu'à la colonne 62. En fait, si le nom en A34 est le
même qu'en A33 par exemple, alors B33= B33+B34, C33Ã3+C34 etc....
Je vais quand même travbailler avec ce que tu m'as donné et essayer de
le modifier...
Si tu es toujours à la recherche d'une solution, essaie ceci :
Tu adaptes le nom de la feuille dans la procédure !
'--------------------------------------- Sub Test() Dim DerLig As Long, DerCol As Integer Dim Rg As Range, i As Long, a As Long Dim Plg As Range, NoCol As Integer, ModCal As String
With Feuil1 'Nom feuille à adapter DerLig = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row DerCol = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column Set Rg = .Range("A5", .Cells(DerLig, DerCol)) End With With Rg .Sort Key1:=.Item(1, 1), Order1:=xlAscending, _ Header:=xlGuess, OrderCustom:=1, MatchCase:úlse, _ Orientation:=xlTopToBottom, DataOption1:=xlSortNormal End With For i = Rg.Rows.Count To 1 Step -1 If Rg(i, 1) = Rg(i - 1, 1) And i >= 1 Then a = a + 1 Else If a > 0 Then Set Plg = Rg(i, 2).Resize(a + 1, 62) For Each col In Plg.Columns NoCol = NoCol + 1 Plg(1, NoCol).Value = Application.Sum(col) Next Rg(i + 1, 1).Resize(a).EntireRow.Delete NoCol = 0 a = 0 End If End If Next Application.Calculation = ModCal Application.EnableEvents = True Application.ScreenUpdating = True
"Denys" a écrit dans le message de groupe de discussion :
On Sep 14, 8:35 am, Denys wrote:
Bonjour Denis,
Juste une petite chose que j'ai probablement mal précisé. Je voudrais que la colonne 2 s'additionne avec la colonne 2, la colonne 3 avec la trois, etc jusqu'à la colonne 62. En fait, si le nom en A34 est le même qu'en A33 par exemple, alors B33= B33+B34, C33Ã3+C34 etc....
Je vais quand même travbailler avec ce que tu m'as donné et essayer de le modifier...