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
995

Statistiques des forums

Discussions
312 467
Messages
2 088 671
Membres
103 914
dernier inscrit
VAL965698