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
979

Statistiques des forums

Discussions
312 215
Messages
2 086 335
Membres
103 190
dernier inscrit
silverwolf854