T
tchou
Guest
Bonjour,
j'ai mis en place un fichier VBA avec formulaire et pour la mise à jour du stock, j'utilise le code ci-dessous.Les données des textbox sont utilisées pour mettre à jour une feuille stock, dans l'état si la ligne existe déjà dans la feuille stock, il fait la mise à jour mais en plus il m'écrit une nouvelle ligne avec le stock à rentrer, c'est la dernière partie du code qui génère le problème mais je n'arrive pas à en voir le bout.
Débutant je fais appel au expert de ce SITE qui sont très efficace.
Merci d"avance
Sub MAJ_STOCK()
Dim Wa As Worksheet
Dim Wb As Worksheet
Set Wa = ThisWorkbook.Worksheets("OME OMS MAT")
Set Wb = ThisWorkbook.Worksheets("S Matériels")
With Wb
nblignes = Wb.Cells(.Rows.Count, 2).End(xlUp).Row + 1
For I = 2 To nblignes - 1
If RefPROD = Wb.Range("A" & I).Value And Me.T_Position = Wb.Range("E" & I).Value And Me.T_typeES = "E" Then
Wb.Range("D" & I) = Wb.Range("D" & I) + CInt(Me.T_qte)
End If
If RefPROD = Wb.Range("A" & I).Value And Me.T_Position = Wb.Range("E" & I) And Me.T_typeES = "S" Then
Wb.Range("D" & I) = Wb.Range("D" & I) - CInt(Me.T_qte)
End If
'If RefPROD <> Wb.Range("A" & I) Then
'Wb.Cells(nblignes, 1) = RefPROD
'Wb.Cells(nblignes, 2) = Me.T_emat
'Wb.Cells(nblignes, 3) = Denom
'Wb.Cells(nblignes, 4) = CInt(Me.T_qte)
'Wb.Cells(nblignes, 5) = Me.T_Position
'End If
Next
End With
End Sub
j'ai mis en place un fichier VBA avec formulaire et pour la mise à jour du stock, j'utilise le code ci-dessous.Les données des textbox sont utilisées pour mettre à jour une feuille stock, dans l'état si la ligne existe déjà dans la feuille stock, il fait la mise à jour mais en plus il m'écrit une nouvelle ligne avec le stock à rentrer, c'est la dernière partie du code qui génère le problème mais je n'arrive pas à en voir le bout.
Débutant je fais appel au expert de ce SITE qui sont très efficace.
Merci d"avance
Sub MAJ_STOCK()
Dim Wa As Worksheet
Dim Wb As Worksheet
Set Wa = ThisWorkbook.Worksheets("OME OMS MAT")
Set Wb = ThisWorkbook.Worksheets("S Matériels")
With Wb
nblignes = Wb.Cells(.Rows.Count, 2).End(xlUp).Row + 1
For I = 2 To nblignes - 1
If RefPROD = Wb.Range("A" & I).Value And Me.T_Position = Wb.Range("E" & I).Value And Me.T_typeES = "E" Then
Wb.Range("D" & I) = Wb.Range("D" & I) + CInt(Me.T_qte)
End If
If RefPROD = Wb.Range("A" & I).Value And Me.T_Position = Wb.Range("E" & I) And Me.T_typeES = "S" Then
Wb.Range("D" & I) = Wb.Range("D" & I) - CInt(Me.T_qte)
End If
'If RefPROD <> Wb.Range("A" & I) Then
'Wb.Cells(nblignes, 1) = RefPROD
'Wb.Cells(nblignes, 2) = Me.T_emat
'Wb.Cells(nblignes, 3) = Denom
'Wb.Cells(nblignes, 4) = CInt(Me.T_qte)
'Wb.Cells(nblignes, 5) = Me.T_Position
'End If
Next
End With
End Sub