Erreur d'exécution '91

bonjour s'il vous plait j'entre le code si dessous et ca m'affiche le message d'erreur: "Erreur d'exécution '91' : Variable objet ou variable bloc With non définie "

Private Sub Workbook_Open()
'pour la liste
Dim stock_alerte As Range
For Each alertestock In ActiveSheet.Range("stock_alerte")
Valeur = Cells(stock_alerte.Row, 1)
If stock_alerte = "0" Then
MsgBox "La référence " & Valeur & " doit être commandée.", vbCritical, "Quantité en stock insuffisante"
Else
End If
If stockalerte = "1" Then
MsgBox "La référence " & Valeur & " devra bientôt être commandée.", vbExclamation, "Stock presque insuffisant"
Else
End If
Next
End Sub

Bonjour toutes et tous

@Gmail

Sans aucune conviction @tester

1/ Dim Valeur ( variable Valeur a déclaré )

2/If stockalerte (alors qu'il y a stock_alerte (underscore) @ tester stock_alerte

3/ ElseIf au lieu de Else End If

' ...
If stock_alerte = "0" Then
MsgBox "La référence " & Valeur & " doit être commandée.", vbCritical, "Quantité en stock insuffisante"
ElseIf  stock_alerte = "1" Then
MsgBox "La référence " & Valeur & " devra bientôt être commandée.", vbExclamation, "Stock presque insuffisant"
End If
' ...

crdlt,

André

Bonjour à tous,

En effet, il y a des confusions avec les variables... Je propose ce code avec un seul message quand le stock est inférieur à 2 :

Private Sub Workbook_Open()
'pour la liste
For Each cell In ActiveSheet.Range("stock_alerte") '<<< REMPLACER ACTIVESHEET PAR sheets("nomdelafeuille")
    Qté = Cells(cell.Row, 1).value
    If Qté < 2 Then
        MsgBox "La référence " & Qté & " doit être commandée.", vbCritical, "Quantité en stock insuffisante"
    End If
Next

End Sub

Cdlt,

Rechercher des sujets similaires à "erreur execution"