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 44 45 46 47 48 49 50 51 52 53 54 55
| Sub ExtractionClients()
'
Dim c As Integer
derniereligne = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Feuil1").Select
For i = 1 To derniereligne Step 1
'formule permettant d'extraire le nom des clients dans la feuille 2
If Cells(i, 1).Value Like "Compt*" And Cells(i, 2).Value = 0 Then
nomclient = Cells(i, 1).Value
Sheets("Feuil2").Select
Rows(4).Insert
Cells(4, 1).Select
ActiveCell.Value = nomclient
'compter les cellules du tableau en partant de la cellule i à la cellule vide -3 (fin du tableau)
Sheets("feuil1").Select
c = 1
Do While Not IsEmpty(Cells(i + c, 1))
c = c + 1
Loop
c = c - 3
Sheets("Feuil1").Select
'Pour chaque cellule effectuer les opérations d'enregistrement en fonction de certaines conditions
For y = 1 To c Step 1
Cells(i + y, 1).Select
If ActiveCell.Offset(0, 1) = "" Then
report = ActiveCell.Offset(0, 4).Value - ActiveCell.Offset(0, 5).Value
'MsgBox (report)
ElseIf ActiveCell.Offset(0, 1) = "SG" Then
paiement = ActiveCell.Offset(0, 4).Value - ActiveCell.Offset(0, 5).Value
'MsgBox (paiement)
ElseIf ActiveCell.Offset(0, 1) = "SMC" Then
paiement = ActiveCell.Offset(0, 4).Value - ActiveCell.Offset(0, 5).Value
'MsgBox (paiement)
Else:
vte = vte + ActiveCell.Offset(0, 4).Value - ActiveCell.Offset(0, 5).Value
'MsgBox (vte)
'echevte = ActiveCell.Offset(0, 6).Value
'MsgBox (echevte)
End If
Next y
Sheets("Feuil2").Select
Cells(4, 1).Select
ActiveCell.Offset(0, 5).Value = vte
ActiveCell.Offset(0, 6).Value = report
ActiveCell.Offset(0, 7).Value = paiement
Sheets("Feuil1").Select
End If
Next i
End Sub |
Partager