bonjour,
une proposition de modification de ta macro
Private Sub Workbook_Open()
'Pour les stocks
Dim alertestock As Range
For Each alertestock In ActiveSheet.Range("Alerte_stock")
Valeur = Cells(alertestock.Row, 1)
If alertestock = "1" Then
msg = msg & "Le produit " & Valeur & " arrive bientôt à expiration. " & vbNewLine
Else
End If
Next
If msg <> "" Then MsgBox msg, vbCritical, "Quantité en stock insuffisante"
End Sub