Résolu Comment créer une "interface" "Ne plus afficher ce message"

jhlamoustache

XLDnaute Occasionnel
Bonjour le forum,

J'ai un message d'alerte dont le texte est assez long, et je voudrais que l'utilisateur puisse ne plus afficher ce message une fois qu'il l'aura lu.
Faut-il utiliser une msgbox, un userform, ou msdialog qu'il faudrait pouvoir paramétrer ?
Comment s'y prendre ?

Quelqu'un a-t-il vu un post en ce sens sur ce site pour m'éclairer ? (car afficher message ramène de nombreuses réponses)
 

Lone-wolf

XLDnaute Barbatruc
Bonsoir jhlamoustache

Dans un formulaire met un label avec le texte, ensuite

VB:
Private Sub UserForm_Activate()
PauseTime = 20
    Start = Timer
    Do While Timer < Start + PauseTime
        DoEvents
    Loop
Unload Me
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub

Il faudra régler PauseTime d'après le texte.

message.gif
 

Lone-wolf

XLDnaute Barbatruc
Re

Une autre façon de faire. En Z1 00:00:20, format mm:ss

VB:
Option Explicit
Public counter As Range

Sub Start_Timer()
Set counter = Sheets(1).Range("z1")
Application.OnTime Now + TimeValue("00:00:01"), "CaR"
End Sub

Sub CaR()
Start_Timer
UserForm1.Show
counter.Value = counter.Value - TimeValue("00:00:01")
If counter.Value = 0 Then Application.OnTime Now + TimeValue("00:00:01"), "CaR", , False: _
Unload UserForm1: counter.Value = TimeSerial(0, 0, 20)
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub
 

Dranreb

XLDnaute Barbatruc
Bonjour et bonne année.
VB:
Sub Init()
ThisWorkbook.Names.Add "Alerte", "=TRUE"
End Sub
Sub Test()
If [Alerte] Then If MsgBox("Il y a de quoi faire etc." & vbLf & vbLf & "Annulez pour ne plus afficher ce message.", _
   vbOKCancel + vbInformation, "Test") = vbCancel Then ThisWorkbook.Names.Add "Alerte", "=FALSE"
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth