Bonjour,
autre proposition avec un plus.
Si tu changes le message mis en Const, le choix de l'utilisateur est outrepassé et l'affichage se fait à nouveau.
Des noms cachés sont créés. Evidemment, le fichier doit être enregistré pour mémoriser le choix de l'utilisateur.
Private Sub Workbook_Open()
' Affiche un message à l'ouverture
' l'utilisateur peut choisir de ne plus le réafficher
' Un nouveau message force l'affichage
Const msg As String = "blablabla"
On Error Resume Next
If [msgOuv] <> msg Or [b_msgOuv] Then
On Error GoTo 0
ActiveWorkbook.Names.Add Name:="msgOuv", RefersTo:=msg
ActiveWorkbook.Names.Add Name:="b_msgOuv", RefersTo:=True
ActiveWorkbook.Names("msgOuv").Visible = False: ActiveWorkbook.Names("b_msgOuv").Visible = False
End If
If [b_msgOuv] Then
If MsgBox(msg & vbLf & vbLf & "Réafficher ce message ?", vbInformation + vbYesNo, "Information") = vbNo Then
ActiveWorkbook.Names.Add Name:="b_msgOuv", RefersTo:=False
ActiveWorkbook.Names("b_msgOuv").Visible = False
End If
End If
End Sub
eric