bonjour,
J'ai un problème de dépassement de capacité sur un fichier de gestion de stock.
Lorsque je met à jour mon état des stocks, si j'ai une somme de quantité de produits identiques >32 767, il me marque qu'il y a un dépassement de capacité.
Pourtant, j'ai bien déclarer mes variables en Long...
Est ce que quelqu'un voit d'ou peut venir le problème?
Merci de votre retour
PS : Si il le faut, je peux joindre un fichier simplifié.
J'ai un problème de dépassement de capacité sur un fichier de gestion de stock.
Lorsque je met à jour mon état des stocks, si j'ai une somme de quantité de produits identiques >32 767, il me marque qu'il y a un dépassement de capacité.
Pourtant, j'ai bien déclarer mes variables en Long...
Est ce que quelqu'un voit d'ou peut venir le problème?
Code:
Sub Initialise()
Dim L As Long, L2 As Long, Derlgn As Long, X As Long
Dim TabTemp As Variant
Dim TabResult() As Variant
Dim T_Nombre_Poss As Long
Dim T_Nombre_Moins As Long
Dim Col_Article As Collection
Dim c As Variant
Application.ScreenUpdating = False
Set Col_Article = New Collection
With Worksheets("Mouvement")
Derlgn = .Range("B65536").End(xlUp).Row
If Derlgn < 7 Then Exit Sub
TabTemp = .Range("B7:Q" & Derlgn).Value
On Error Resume Next
For L = 1 To UBound(TabTemp, 1)
Col_Article.Add TabTemp(L, 5), CStr(TabTemp(L, 5))
Next
On Error GoTo 0
Err.Clear
If Col_Article(1) = "" Then Exit Sub
For L2 = 1 To Col_Article.Count
ReDim Preserve TabResult(7, X)
For L = 1 To UBound(TabTemp, 1)
If TabTemp(L, 5) = Col_Article(L2) Then
Select Case TabTemp(L, 1)
Case Is = "Entrée"
T_Nombre_Poss = T_Nombre_Poss + CInt(TabTemp(L, 9))
Case Is = "Sortie"
T_Nombre_Moins = T_Nombre_Moins + CInt(TabTemp(L, 9))
End Select
End If
Next
TabResult(0, X) = Col_Article(L2)
TabResult(2, X) = CInt(T_Nombre_Poss) - CInt(T_Nombre_Moins) => erreur ici quand je débug
X = X + 1
T_Nombre_Moins = 0: T_Nombre_Poss = 0
Next
End With
Merci de votre retour
PS : Si il le faut, je peux joindre un fichier simplifié.