Bonjour,
J'ai un petit probleme avec une formule pour deduire automatiquement des
stock.
J'ai cette formule qui fonctionne mais j'aimerais l'optimisé :
Sub Impression()
Dim l As Integer
Dim sH, sh1, sh2 As Worksheet
Dim Stk As Integer
Set sH = Sheets("FACTURE-SAISIE")
Set sh1 = Sheets("STOCKBLANC")
Set sh2 = Sheets("STOCKBRUN")
If MsgBox("Voulez-vous mettre à jour automatiquement le stock ?" & vbNewLine
& "Cette opération est irréversible.", vbYesNo + vbExclamation) = vbNo Then
Exit Sub
For l = 13 To 22
If sH.Cells(l, 1) = "" Then Exit Sub
On Error Resume Next
With sh1.Range("A6:A2000").Find(sH.Cells(l, 1))
If .Offset(0, 4) > 0 Then
.Offset(0, 4) = .Offset(0, 4) - sH.Cells(1, 7)
Else
.Offset(0, 3) = .Offset(0, 3) - sH.Cells(1, 7)
End If
End With
With sh2.Range("A6:A2000").Find(sH.Cells(l, 1))
If .Offset(0, 4) > 0 Then
.Offset(0, 4) = .Offset(0, 4) - sH.Cells(1, 7)
Else
.Offset(0, 3) = .Offset(0, 3) - sH.Cells(1, 7)
End If
End With
On Error GoTo 0
Next
End Sub
Le probleme que je rencontre c quand je deduit une quantité superieur a 1,
exemple 2 et que en stock il ne m'en reste 2,
il me marque -1 sans passer sur la cellule suivante (.offset(0, 3)
pour deduire cela me fausse le stock.
ce que j'aimerais c que arriver a zero sur .offset(0, 4) il passe a
.offset(0,3) et quand .Offset (0.3) et a zero il me marque un message "stock
insuffisant voulez vous continuer, oui, non"et si je marque oui, il
recommence a me deduire dans .offset(0.4), -1 ;-2; -3 ect...
J'espere que j'ai bien formuler pour que tout le monde comprenne.