Dépassement de capacité VBA
Résolu
Bonjour,
J'ai écrit une variable en DIM as Long avec une boucle jusqu'en fin de colonne.
Or lorsque je lance la procédure, je reçois un message de "Erreur d'exécution "6" Dépassement de capacité".
Je ne sais pas à quoi correspond ce message, j'ai changé la variable mais toujours le même message.
Voici le début de la procédure :
Comment puis je y remédier ?
Merci
J'ai écrit une variable en DIM as Long avec une boucle jusqu'en fin de colonne.
Or lorsque je lance la procédure, je reçois un message de "Erreur d'exécution "6" Dépassement de capacité".
Je ne sais pas à quoi correspond ce message, j'ai changé la variable mais toujours le même message.
Voici le début de la procédure :
Sub stock_reception()
'Initialisation de la variable ecart_de_stock
Dim ecart_de_stock As Long
ecart_de_stock = 2
'Commencer la boucle en colonne E
For ecart_de_stock = 2 To Range("E2").End(xlDown).Row
'Dans la boucle, effectuer le calcul selon la condition
If Not IsEmpty(Cells(ecart_de_stock, 5)) Then
'Définir la date du jour pour le nouvel inventaire
If Not IsEmpty(Cells(ecart_de_stock, 3)) And Cells(ecart_de_stock, 1) = "" Then
Cells(ecart_de_stock, 1) = Date
Else
End If
'Définir le mois en fonction de la date de saisie
Cells(ecart_de_stock, 2) = Month(Cells(ecart_de_stock, 1))
'Afficher 0 ou 1 en fonction de l'écart d'emplacement
If Cells(ecart_de_stock, 4) - Cells(ecart_de_stock, 5) = 0 Then
Cells(ecart_de_stock, 6) = 1
Else
Cells(ecart_de_stock, 6) = 0
End If
'Afficher l'ecart des bobines entre le stock physique et informatique, sans signe
Cells(ecart_de_stock, 7) = Abs(Cells(ecart_de_stock, 4) - Cells(ecart_de_stock, 5))
'Effectuer le calcul en % de l'écart des bobines
Cells(ecart_de_stock, 8) = Abs(1 - (Cells(ecart_de_stock, 7) / Cells(ecart_de_stock, 4)))
Else
End If
Next
ActiveWorkbook.RefreshAll
End Sub
Comment puis je y remédier ?
Merci
5 réponses
-
Voici la nouvelle fonction SI que j'ai imbriqué :
'Dans la boucle, effectuer le calcul selon la condition
If Not IsEmpty(Cells(ecart_de_stock, 5)) Then
'Définir la date du jour pour le nouvel inventaire
If Not IsEmpty(Cells(ecart_de_stock, 3)) And Cells(ecart_de_stock, 1) = "" Then
Cells(ecart_de_stock, 1) = Date
Else
End If
'Définir le mois en fonction de la date de saisie
Cells(ecart_de_stock, 2) = Month(Cells(ecart_de_stock, 1))
'Afficher 0 ou 1 en fonction de l'écart d'emplacement
If Cells(ecart_de_stock, 4) - Cells(ecart_de_stock, 5) = 0 Then
Cells(ecart_de_stock, 6) = 1
Else
Cells(ecart_de_stock, 6) = 0
End If
'Afficher l'ecart des bobines entre le stock physique et informatique, sans signe
Cells(ecart_de_stock, 7) = Abs(Cells(ecart_de_stock, 4) - Cells(ecart_de_stock, 5))
'Calculer un écart avec une division par 0
If Cells(ecart_de_stock, 4) > 0 Then
'Effectuer le calcul en % de l'écart des bobines
Cells(ecart_de_stock, 8) = Abs(1 - (Cells(ecart_de_stock, 7) / Cells(ecart_de_stock, 4)))
Else
'Valeur de 100% par défaut si le stock physique et info sont vides
If Cells(ecart_de_stock, 4) = 0 And Cells(ecart_de_stock, 5) = 0 Then
Cells(ecart_de_stock, 8) = 1
Else
'Valeur de 0% par défaut si il y a un écart entre le st info et physique
If Cells(ecart_de_stock, 4) <> Cells(ecart_de_stock, 5) Then
Cells(ecart_de_stock, 8) = 0
Else
End If
End If
End If
End If