Bonjour,
L'objectif est:
de mettre au niveau de "net à payer" la somme totale des "prix total"
Obstacle:
L'utilisateur peut avoir à remplir plus de dix ligne
Cela dit:
-je doit programmer une insertion dynamique de ligne au dessus de "net à payer"
-les prix totaux aussi sont à calculer
un exemple est ici jointe.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Dim total As Range
Dim dernier As Range
Dim debut As Range
........................................................................................................
Sub Newline()
Set dernier = Cells(11, 1)
Do Until dernier.Value = ""
dernier.Offset(1, 0).EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
'insertion d'une ligne
Set dernier = dernier.Offset(1, 0)
'incrémentation de dernier
Set total = dernier.Offset(1, 3)
Loop
End Sub
........................................................................................................
Sub totaux()
Dim Quantite As Range
Dim P_unitaire As Range
Dim Ptotal As Range
Dim x As Range
Set debut = Cells(2, 1)
Set Quantite = debut.Offset(0, 1)
Set P_unitaire = debut.Offset(0, 2)
Set x = debut
Set Ptotal = debut.Offset(0, 3)
Do Until x = dernier
Ptotal.Value2 = WorksheetFunction.Product(Quantite, P_unitaire)
Set Quantite = Quantite.Offset(1, 0)
Set P_unitaire = P_unitaire.Offset(1, 0)
Set x = x.Offset(1, 0)
Exit Do
total.valu2 = WorksheetFunction.Sum(debut.Offset(0, 3), total.Offset(-2, 0))
Loop
End Sub |
Problème:
-l'insertion de ligne ne fonctionne qu'une seul fois
-les totaux ne sont pas calculer
-"net à payer" n'est pas calculer
merci
Partager