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
| Sub import_prix()
Dim cell_move As Range
Dim cell_ori As Range
Dim code As String
Dim flag As Boolean
flag = True
x = "Macros.xlsm"
'Vérification si le fichier dans lequel tous les prix sont présents est ouvert
For Each Wkb In Workbooks
test = Wkb.Name
If Wkb.Name = x Then
flag = False
Exit For
End If
Next Wkb
'S'il n'est pas ouvert, on l'ouvre
If flag Then
'Mettre le chemin du fichier ici
Workbooks.Open Filename:="C:\Users\...\Desktop\VBA\Macros.xlsm"
End If
'Dans le fichier dans lequel on souhaite que les prix soient importés
With Workbooks("Macros 2.xlsm").Worksheets("Feuil1")
Set cell_move = .Range("A1")
For i = 1 To .Columns(1).Find("*", , , , , xlPrevious).Row - 1
code = cell_move.Offset(i, 0)
With Workbooks("Macros.xlsm").Worksheets("Feuil1")
'On vérifie que le code unique est bien présent
Set cell_ori = .Columns(1).Find(code, LookIn:=xlValues, LookAt:=xlWhole)
'Si oui, on écrase les valeurs
If Not cell_ori Is Nothing Then
cell_move.Offset(i, 3) = cell_ori.Offset(0, 3)
cell_move.Offset(i, 4) = cell_ori.Offset(0, 4)
End If
End With
Next i
End With
End Sub |
Partager