Bonjour à tous!
Voilà j'ai un petit souci. Sur un onglet j'ai des références en colonne A et des valeurs en colonne B.
Les références sont dans le désordre et je dois calculer la somme des valeurs.
Le soucis est que j'ai plusieurs centaines de références à traiter et je dois faire l'état toutes les semaines.
J'ai essayé de bidouiller un bout de programme mais ça ne marche pas...
Si vous avez des idées????
je vous met le classeur en PJ.
Merci!!!!!! 😀😀😀😀😀😀😀😀😀😀
Et voici mon programme:
Sub test()
Sheets("LISTE").Select
'initialisation
Dim val_qty 'variable quantité à incrémenter
Dim donnee1, donnee2
Dim i 'variable ligne PN
Dim j 'variable ligne valeur
Dim ii 'variable base PN
Dim jj 'variable base VALEUR
val_qty = 0 'initialisation
i = 2
j = 2
ii = 1
jj = 1
Range("A" & i).Select ' Sélectionne la cellule indiquée
ActiveCell.CurrentRegion.Sort Key1:=Range("A" & i), Order1:=xlAscending ' Trie le tableau sur cette celule
donnee1 = Range("A" & i).Value ' mémorise le PN
val_qty = Range("B" & i).Value ' mémorise la QTY
Range("A" & i).Select
donnee2 = ActiveCell.Offset(1, 0).Value
While Range("A" & i).Value <> "" 'tant que la cellule n'est pas vide
Sheets("LISTE").Select
i = i + 1
j = j + 1
donnee2 = Range("A" & i).Value
If donnee2 = donnee1 Then 'vérifie si le nouveau PN = à celui de la ligne du dessus
val_qty = val_qty + Range("B" & i).Value 'rajoute la valeur à celle déjà mémorisée
i = i + 1
donnee1 = Range("A" & i).Value
Else
Sheets("TOTAL").Select
Range("A" & ii).Value = donnee1
Range("B" & jj).Value = val_qty
ii = ii + 1
jj = jj + 1
val_qty = 0
Sheets("LISTE").Select
End If
Wend
End Sub
Voilà j'ai un petit souci. Sur un onglet j'ai des références en colonne A et des valeurs en colonne B.
Les références sont dans le désordre et je dois calculer la somme des valeurs.
Le soucis est que j'ai plusieurs centaines de références à traiter et je dois faire l'état toutes les semaines.
J'ai essayé de bidouiller un bout de programme mais ça ne marche pas...
Si vous avez des idées????
je vous met le classeur en PJ.
Merci!!!!!! 😀😀😀😀😀😀😀😀😀😀
Et voici mon programme:
Sub test()
Sheets("LISTE").Select
'initialisation
Dim val_qty 'variable quantité à incrémenter
Dim donnee1, donnee2
Dim i 'variable ligne PN
Dim j 'variable ligne valeur
Dim ii 'variable base PN
Dim jj 'variable base VALEUR
val_qty = 0 'initialisation
i = 2
j = 2
ii = 1
jj = 1
Range("A" & i).Select ' Sélectionne la cellule indiquée
ActiveCell.CurrentRegion.Sort Key1:=Range("A" & i), Order1:=xlAscending ' Trie le tableau sur cette celule
donnee1 = Range("A" & i).Value ' mémorise le PN
val_qty = Range("B" & i).Value ' mémorise la QTY
Range("A" & i).Select
donnee2 = ActiveCell.Offset(1, 0).Value
While Range("A" & i).Value <> "" 'tant que la cellule n'est pas vide
Sheets("LISTE").Select
i = i + 1
j = j + 1
donnee2 = Range("A" & i).Value
If donnee2 = donnee1 Then 'vérifie si le nouveau PN = à celui de la ligne du dessus
val_qty = val_qty + Range("B" & i).Value 'rajoute la valeur à celle déjà mémorisée
i = i + 1
donnee1 = Range("A" & i).Value
Else
Sheets("TOTAL").Select
Range("A" & ii).Value = donnee1
Range("B" & jj).Value = val_qty
ii = ii + 1
jj = jj + 1
val_qty = 0
Sheets("LISTE").Select
End If
Wend
End Sub