Re : Traitement de deux fichiers Excel par un troisième
En complément de mon exposé d'hier, vous trouverez ci-dessous mon code VBA qui ne fonctionne pas mais qui a au moins le mérite de décrire la logique que je cherche (en tout cas je l'espère). Merci d'avance pour votre aide.
Ben
Sub test()
Application.ScreenUpdating = False
l = 11
For i = 2 To Range("G65536").End(xlUp).Row
num_cmde = Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 1)
depot = Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 2)
code_article = Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 3)
quantite = Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 4)
If Application.WorksheetFunction.VLookup(Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 1), Workbooks("D:\...\Listing commandes\Commandes du 24-03.xls").Sheets("A").Columns("B:B"), 1, False) = Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 1) And Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 2).Value = "Entrepôt Rouen" Then
Sheets("Rouen").Select
Cells(l, 1) = num_cmde
Cells(l, 2) = code_article
Cells(l, 3) = quantite
l = l + 1
ElseIf Application.WorksheetFunction.VLookup(Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 1), Workbooks("D:\...\Listing commandes\Commandes du 24-03.xls").Sheets("A").Columns("B:B"), 1, False) = Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 1) And Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 2).Value = "Entrepôt Toulouse" Then
Sheets("Toulouse").Select
Cells(l, 1) = num_cmde
Cells(l, 2) = code_article
Cells(l, 3) = quantite
l = l + 1
ElseIf Application.WorksheetFunction.VLookup(Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 1), Workbooks("D:\...\Listing commandes\Commandes du 24-03.xls").Sheets("A").Columns("B:B"), 1, False) = Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 1) And Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 2).Value = "Entrepôt Paris" Then
Sheets("Paris").Select
Cells(l, 1) = num_cmde
Cells(l, 2) = code_article
Cells(l, 3) = quantite
l = l + 1
ElseIf Application.WorksheetFunction.VLookup(Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 1), Workbooks("D:\...\Listing commandes\Commandes du 24-03.xls").Sheets("A").Columns("B:B"), 1, False) = Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 1) And Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 2).Value = "Entrepôt Rennes" Then
Sheets("Rennes").Select
Cells(l, 1) = num_cmde
Cells(l, 2) = code_article
Cells(l, 3) = quantite
l = l + 1
ElseIf Application.WorksheetFunction.VLookup(Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 1), Workbooks("D:\...\Listing commandes\Commandes du 24-03.xls").Sheets("A").Columns("B:B"), 1, False) = Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 1) And Workbooks("D:\...\Base de données\Base de données du 24-03.xls").Sheets("A").Cells(i, 2).Value = "Entrepôt Lyon" Then
Sheets("Lyon").Select
Cells(l, 1) = num_cmde
Cells(l, 2) = code_article
Cells(l, 3) = quantite
l = l + 1
End If
Next i
Application.ScreenUpdating = True
End Sub