bonjour,
Hum... Les déclarations (Dim...) doivent se trouver en premier dans la macro
Modifier les lignes suivantes comme suit :
Private Sub Workbook_Open()
Dim alerte As Range
Dim alertestock As Range
Dim derligne As Long
Dim Ws1 As Worksheet
Dim valeur As String
Application.ScreenUpdating = False
Mon_menu.Show
Set Ws1 = Sheets("Stock")
Ws1.Columns("A:S").EntireColumn.AutoFit
derligne = Ws1.Range("A" & Rows.Count).End(xlUp).Row
Set alertestock = Ws1.Range("S2:S" & derligne)
For Each alerte In alertestock
valeur = Ws1.Cells(alerte.Row, 1) 'La suite sans changement...
A+