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 56
| Dim J As Long
Dim cellule As Range
Dim Tabl As Variant
If Not Intersect(Target, [B20:B141]) Is Nothing Then
Application.EnableEvents = False
'Quand on entre une réf, on recupère désignation, matière, traitement, prix...
Tabl = [ListeToutArticles].Value2 '"Value2" recopie toutes les décimales
For Each cellule In Target.Cells 'on lit chaque cellule modifiée
For J = 1 To UBound(Tabl)
If Tabl(J, 2) = cellule.Value2 Then 'Si réf dans la base correspond, alors
Application.EnableEvents = False
cellule.Offset(, 1) = Tabl(J, 3) 'colonne 1 (Désignation) par rapport à B = colonne 3 de la base
cellule.Offset(, 2) = Tabl(J, 5) 'colonne 2 (Matière)
cellule.Offset(, 3) = Tabl(J, 6) 'colonne 3 (Traitement finition)
cellule.Offset(, 5) = Tabl(J, 8) 'colonne 3 (Unité)
'en dehors du champ visible pour pouvoir reocpier ligne dans la base
cellule.Offset(, 17) = Tabl(J, 1)
cellule.Offset(, 18) = Tabl(J, 2) 'réf
' cellule.Offset(, 19) = Tabl(J, 3) 'dési
cellule.Offset(, 20) = Tabl(J, 4) 'complé dési
' cellule.Offset(, 21) = Tabl(J, 5) 'matière
' cellule.Offset(, 22) = Tabl(J, 6) 'traitement
'cellule.Offset(, 23) = Tabl(J, 7)'fournisseur
' cellule.Offset(, 24) = Tabl(J, 8) 'Unité
'cellule.Offset(, 25) = Tabl(J, 9) 'tarif
' cellule.Offset(, 26) = Tabl(J, 10) 'date
cellule.Offset(, 27) = Tabl(J, 11) 'marque
End If
If Tabl(J, 2) = cellule.Value2 And Range("E4") <> "" And Tabl(J, 7) = [E4] Then 'Si fournisseur renseigné et article lié au fournisseur alors on renvoi le tarif du fournisseur
cellule.Offset(, 6) = Val(Replace((Tabl(J, 9)), ",", ".")) 'colonne 6 (PU HT) VAL récupère la valeur numérique du prix qui est en format texte
Application.EnableEvents = True
Exit For
Else
'ne pas renvoyer de tarif si le fournisseur n'est pas renseigné dans l'entête
End If
Next J
Next
End If |
Partager