Bonjour à tous,
Je suis nouvelle sur votre site et j'aurais besoin de votre aide.
Pour un besoin de contrôle de gestion, j'aurais besoin d'une macro qui pourrais :
1/ 1 procédure qui annulerai le même montant positif et négatif qui s'annulent (sur la même référence = colonne G)
2/ 1 autre procédure : sur la même référence, s'il existe une ligne avec Type pièce (colonne A) =KR et une autre ligne avec S1 (même s'il la somme est différent de 0) alors supprimer ces 2 lignes.
KR=une facture dont le montant est toujours positif
S1= une correction donc montant négatif
Je ne sais pas si c'est clair pour vous. je vous remercie par avance pour votre aide.
Ci-dessous : ma procédure qui annule les lignes dont la somme est égale à 0 sur une même référence (mais malheureusement elle n'efface pas tout)
Sub Control()
Dim L As Long, I As Long, DerLig As Long
Dim Diff As Boolean
Dim Total As Double
Dim Ref As String
Application.ScreenUpdating = False
DerLig = Range("A" & Rows.Count).End(xlUp).Row
L = DerLig - 1
For I = DerLig To 2 Step -1
Ref = Cells(I, "G")
Total = Cells(I, "H")
L = I - 1
Diff = False
Do While Cells(L, "G") = Ref
Diff = True
Total = Total + Cells(L, "H")
L = L - 1
Loop
If Diff = True And Cells(L + 1, "G") = Ref And Total = 0 Then
Range(Cells(I, "A"), Cells(L + 1, "Z")).Delete
I = L + 1
End If
Next I
End Sub
Je suis nouvelle sur votre site et j'aurais besoin de votre aide.
Pour un besoin de contrôle de gestion, j'aurais besoin d'une macro qui pourrais :
1/ 1 procédure qui annulerai le même montant positif et négatif qui s'annulent (sur la même référence = colonne G)
2/ 1 autre procédure : sur la même référence, s'il existe une ligne avec Type pièce (colonne A) =KR et une autre ligne avec S1 (même s'il la somme est différent de 0) alors supprimer ces 2 lignes.
KR=une facture dont le montant est toujours positif
S1= une correction donc montant négatif
Je ne sais pas si c'est clair pour vous. je vous remercie par avance pour votre aide.
Ci-dessous : ma procédure qui annule les lignes dont la somme est égale à 0 sur une même référence (mais malheureusement elle n'efface pas tout)
Sub Control()
Dim L As Long, I As Long, DerLig As Long
Dim Diff As Boolean
Dim Total As Double
Dim Ref As String
Application.ScreenUpdating = False
DerLig = Range("A" & Rows.Count).End(xlUp).Row
L = DerLig - 1
For I = DerLig To 2 Step -1
Ref = Cells(I, "G")
Total = Cells(I, "H")
L = I - 1
Diff = False
Do While Cells(L, "G") = Ref
Diff = True
Total = Total + Cells(L, "H")
L = L - 1
Loop
If Diff = True And Cells(L + 1, "G") = Ref And Total = 0 Then
Range(Cells(I, "A"), Cells(L + 1, "Z")).Delete
I = L + 1
End If
Next I
End Sub