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
| Sub UPDATE_Stock_et_Ref()
Dim Chemin As String, Fichier As String, J As Long, I As Integer, Cel As Range
Dim T1(1 To 2, 1 To 8) As String
Dim Ws As Worksheet
Application.ScreenUpdating = False
Set Ws = ActiveSheet
Chemin = ThisWorkbook.Path & Application.PathSeparator
'désigne la variable de notre fichier Cde Auto
Fichier = "Liste_des_stocks_Stock_Cathedrale.csv"
'désigne la variable du listing stock exporté de MatTrack
If Dir(Chemin & Fichier) = "" Then
MsgBox "Fichier pour mise à jour introuvable" & vbCr & Fichier
Exit Sub
'Condition si le listing stock n'est pas trouvé afin de sortir de la procédure
End If
With Workbooks.Open(Chemin & Fichier)
With .Sheets(1)
'Prend en compte la feuille 1 du fichier qu'il vient d'ouvrir (si besoin de mettre le nom de l'onglet, placer celui-ci entre guillemets
For J = 4 To .Range("A" & Rows.Count).End(xlUp).Row
' Parcourt de la ligne 4 dans la colonne A jusqu'à la dernière cellule non vide de cette colonne (références MatTrack à rechercher)
T1(1, 2) = .Cells(J, "B")
T1(1, 8) = .Cells(J, "C")
Set Cel = Ws.Columns("A").Find(what:=.Range("A" & J), LookIn:=xlValues, lookat:=xlWhole)
'recherche les correspondance des codes MatTrack entre la collone A du fichier des Cdes Auto et la colonne A du listing MatTrack
If Not Cel Is Nothing Then
Cel.Resize(1, UBound(T1, 2)) = T1
'Si correspondance code MatTrack Cde Auto trouvée dans le listing Cde Auto, mise à jour des données description et Stock
Else
Ws.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Resize(1, UBound(T1, 2)) = T1
'insère les code MatTrack manquants venant du listing en bas du tableau
End If
Next J
End With
.Close savechanges:=False
'ferme le listing sans le sauvgarder
End With
End Sub |
Partager