Bonjour à tous,
J' ai un souci pour calculer une remise professionnelle sur un devis.
Je voudrais faire la somme des montants hors taxes sur la matière première uniquement pour y appliquer une remise d'un montant défini sur une combobox. j'ai une colonne B sur laquelle pour chaque produit j'ai un code matière. Si celui-ci est égal à 0 alors c'est du façonnage et la remise ne doit pas s'appliquer. j'ai écrit ceci mais cela ne fonctionne pas.
J'aimerai que "ht" soit la somme des valeurs dont le code "matière" est différent de 0. Si vous avez la solution je serais le plus heureux merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
35
36
37
38
39
40
41
42
43 Sub Remisepro() Worksheets("Devis").Protect userinterfaceonly:=True, AllowFormattingCells:=True Dim Satisf As Boolean, Donrem As String, vrem As Integer Dim lRem As Integer, Remi As Integer, lht As Integer Dim Crit As Range Dim Plage As Range Dim ht As Single Dim a As Range Dim lAp As Integer Const colht = 13 Set Plage = Range("B23:B" & Range("B" & Rows.Count).End(xlUp).Row) For Each Crit In Plage If Not Crit.Value = "0" Then lht = Crit.Row End If Next ht = Application.WorksheetFunction.Sum(Range(Cells(lht, colht))) On Error Resume Next Set a = Application.InputBox("Sélectionnez une plage !", "Sélection de cellules", Type:=8) On Error GoTo 0 U_remise.Show Donrem = TextBox1.Text vrem = CInt(Donrem) If Not a Is Nothing Then a.Value = "Remise professionnelle" a.HorizontalAlignment = xlCenter a.Font.FontStyle = "Bold Italic" a.Select ActiveCell.Offset(0, 5).Value = -ht * (vrem / 100) lAp = a.Row Cells(lAp, colht).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)" End If End Sub![]()
Partager