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
| Sub rapprochement_Factures_BL()
Dim Nb_Factures As Long, Nb_BL As Long, Ligne As Long, Prem_occurence As Long
Dim DateFact As Date, DateBL As Date
Dim Cellule As Range
Nb_Factures = Worksheets("Factures").Range("A65536").End(xlUp).Row ' on compte le nombre de lignes'
Nb_BL = Worksheets("B_Livraison").Range("A65536").End(xlUp).Row ' on compte le nombre de BL'
For Ligne = 2 To Nb_Factures
'on lit le fournisseur dans la feuille Factures'
Fournisseur = Trim(Worksheets("Factures").Cells(Ligne, 2).Value)
'on lit la date dans la feuille Factures'
DateFact = Worksheets("Factures").Cells(Ligne, 3).Value
'On recherche dans la feuille B_Livraison le même fournisseur et la même date
With Worksheets("B_Livraison").Range("B2:B" & Nb_BL)
'Si c'est le même fournisseur
Set Cellule = .Find(What:=Fournisseur, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
If Not Cellule Is Nothing Then
Prem_occurence = Cellule.Row
Do
'on lit la date dans la feuille B_Livraison'
DateBL = Cellule.Offset(0, 1).Value
If DateBL = DateFact Then
'on a trouvé , on indique'
Worksheets("B_Livraison").Cells(Cellule.Row, 7).Value = " Rapprochement OK"
Worksheets("B_Livraison").Cells(Cellule.Row, 8).Value = Worksheets("Factures").Cells(Ligne, 1).Value
Worksheets("Factures").Cells(Ligne, 7).Value = " Rapprochement OK"
Worksheets("Factures").Cells(Ligne, 8).Value = Worksheets("B_Livraison").Cells(Cellule.Row, 1).Value
End If
Set Cellule = .FindNext(Cellule)
Loop While Not Cellule Is Nothing And Cellule.Row <> Prem_occurence
End If
End With
Next
End Sub |
Partager