XL 2016 Afficher plusieurs formulaires utilisateur les uns après les autres

Dadi147

XLDnaute Occasionnel
Bonjour. J'ai un classeur contenant 30 UserForms. Je veux un moyen qui me permette d'afficher l'un après l'autre toutes les 30 secondes, c'est-à-dire qu'un numéro est fermé, le numéro 2 est affiché, etc.
 
Solution
Bonjour Dadi147,

Voyez le fichier joint et cette macro :
VB:
Sub Ouvrir_UserForms()
Dim usf, n, t
usf = Array(UserForm1, UserForm2, UserForm3, UserForm4, UserForm5, UserForm6, UserForm7, UserForm8, UserForm9, UserForm10 _
    , UserForm11, UserForm12, UserForm13, UserForm14, UserForm15, UserForm16, UserForm17, UserForm18, UserForm19, UserForm20 _
    , UserForm21, UserForm22, UserForm23, UserForm24, UserForm25, UserForm26, UserForm27, UserForm28, UserForm29, UserForm30)
For n = 0 To UBound(usf)
    t = Timer + 30
    usf(n).Show 0 'non modal
    While Timer < t And t < 86400: DoEvents: Wend 'attente
    Unload usf(n)
Next
End Sub
A+

job75

XLDnaute Barbatruc
Bonjour Dadi147,

Voyez le fichier joint et cette macro :
VB:
Sub Ouvrir_UserForms()
Dim usf, n, t
usf = Array(UserForm1, UserForm2, UserForm3, UserForm4, UserForm5, UserForm6, UserForm7, UserForm8, UserForm9, UserForm10 _
    , UserForm11, UserForm12, UserForm13, UserForm14, UserForm15, UserForm16, UserForm17, UserForm18, UserForm19, UserForm20 _
    , UserForm21, UserForm22, UserForm23, UserForm24, UserForm25, UserForm26, UserForm27, UserForm28, UserForm29, UserForm30)
For n = 0 To UBound(usf)
    t = Timer + 30
    usf(n).Show 0 'non modal
    While Timer < t And t < 86400: DoEvents: Wend 'attente
    Unload usf(n)
Next
End Sub
A+
 

Pièces jointes

  • UserForms.xlsm
    42.1 KB · Affichages: 4

Discussions similaires

Réponses
0
Affichages
1 K

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 104
dernier inscrit
JEMADA