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
| Option Explicit
Option Compare Text '==> A=a E=e mais attention e<>é
Public Sub Achat()
Dim sMat As String, sForm As String, sTaill As String
Dim kRD As Long, kR As Long
Worksheets("Achat").Select
Rows("7:100").Delete '--- supprime résultats précédents
sMat = [B1]
sForm = [B2]
sTaill = [B3]
'--- il est supposé que dans la feuille "base de données",
'--- aucune cellule vide en colonne 2: Origine --- cellule vide = fin
With Worksheets("Base de données")
kRD = 3 '--- première ligne plage Données
kR = 7 '--- première ligne plage Achats
While .Range("B" & kRD) <> "" '--- cellule vide = fin
DoEvents
If .Range("B" & kRD) = "Achat" And _
.Range("H" & kRD) = sMat And _
.Range("I" & kRD) = sForm And _
.Range("J" & kRD) = sTaill Then
'--- récupération données
Range("A" & kR) = .Range("D" & kRD) '--- ? à vérifier
Range("F" & kR) = .Range("H" & kRD) '--- matière
Range("G" & kR) = .Range("I" & kRD) '--- forme
Range("H" & kR) = .Range("J" & kRD) '--- taille
Range("I" & kR) = .Range("T" & kRD) '--- Qté importée
Range("J" & kR) = .Range("S" & kRD) '--- Qté utilisée
Range("K" & kR) = .Range("G" & kRD) '--- N° fiche
Range("M" & kR) = .Range("X" & kRD) '--- poids copeaux total
'etc. --- à compléter
'--- champs calculés
If Range("J" & kR) > 0 Then Range("L" & kR) = Range("M" & kR) / Range("J" & kR)
'etc. --- à compléter
kR = kR + 1
End If
kRD = kRD + 1
Wend
End With
Debug.Print "Fin"
End Sub |
Partager