Bonjour à tous,

Je fais appel au forum pour résoudre un problème qui hante mes heures de vacances. Le contexte précède la question.
Liées à une feuille de calcul, j’ai écrit plusieurs procédures (sub) dont une procédure événementielle « Private Sub Worksheet_SelectionChange(ByVal Target As Range) ». L’extrait de code (en pseudo) ci-dessous en fait partie. Il appelle des sous-procédures en fonction de la valeur de la variable sw_call. Les sous-procédures écrivent des informations sur la feuille active, après l’avoir nettoyée.
Comme le montre le premier « Case », deux sous-procédures sont appelées à la suite ; de même, une procédure « conclusion » termine l’application.
Toutes les sous-procédures, sauf « conclusion » bien sûr, se terminent par un msgbox « Pour continuer ». C’est le seul moyen que j’ai trouvé pour temporiser un affichage selon les souhaits de l’utilisateur. Mais ce n’est pas très élégant, d’autant plus qu’il se met en plein milieu de l’écran.
Question :
Quelqu’un connait-il une technique de programmation pour temporiser un affichage d’écran en fonction des souhaits de l’utilisateur tout en permettant la poursuite de l’application ?

D’avance merci

Harry
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    If target.value = but.value Then
    Application.EnableEvents = False
    Select Case sw_call
        Case Is = "1"
            Call But1(VN_inbx)
            Call But2(VN_inbx)
        Case Is = "2"
            Call But1(VN_inbx)
        Case Is = "3"
            Call But2(VN_inbx)
        Case Is = "4"
            Call But3(VN_inbx)
    End Select
    End If
    call conclusion()
end sub