Afficher un UserForm en pleine écran dans le classeur voulu

Bonjour,

Je suis nouvelle sur le forum, (c'est d'ailleur la première fois que je m'inscrit sur un forum) et j'espère qu'en posant ma question ici, je ne me trompe pas.

Voilà mon problème :

J'ai un fichier excel, avec un UserForm qui marche impec.

J'arrive a afficher mon UserForm en pleine écran, seulement quand je veux ouvrir un autre fichier excel, le UserForm recouvre également ce fichier excel, je n'y ai donc pas accès.

Alors, je sais que je peux réduire la taille de mon UserForm pour pouvoir accéder aux autres fichiers excel (j'ai aussi pensé à bien modifier la propriété ShowModal), seulement, je trouve que c'est pas vraiment pratique de devoir modifier la taille du UserForm pour pouvoir acceder à d'autres fichiers excel.

Question : est il possible d'afficher en pleine écran le UserForm UNIQUEMENT dans le classeur auquel il est rattaché ?

J'ai cherché un peu partout, je n'ai pas trouvé de solution qui me convenait.

Merci d'avance pour toutes vos réponses

Bonjour et bienvenue sur le forum ElectricDandy,

Une solution avec ce code à tester et à mettre dans le ThisWorkbook du classeur :

Private Sub Workbook_Activate()
If UserForm1.Top > 0 Then UserForm1.Show
End Sub

Private Sub Workbook_Deactivate()
UserForm1.Hide
End Sub

Lorsque le classeur contenant l'userform1 est désactivé (Workbook_Deactivate), on cache l'userform1.

Lorsque ce même classeur est activé (Workbook_Activate), on réactive l'userform1 si celui-ci a été préalablement caché.

@ vba-new : Merci beaucoup !!!!

ça marche parfaitement ! C'est ce que je recherchais.

Et merci pour les explications, vu que je débute, c'est important pour moi de comprendre.

J'ai juste enlevé la condition "If UserForm1.Top > 0 Then UserForm1.Show" parce que quand je revenais sur mon classeur, le UserForm ne s'affichait plus, il fallait que je clique sur le bouton que j'ai mis pour lancer l'application. Mais je comprend pas pourquoi ça ne marchait pas avec cette condition....

Ou alors c'est moi qui est mal fait les choses, c'est peut être une mauvaise idée d'enlever ce bout de code....

En tout cas, ça marche, c'est ce qui compte

Voilà ce que j'ai mis dans ThisWorkbook :

Private Sub Workbook_Activate()
UserForm1.Show
End Sub

Private Sub Workbook_Deactivate()
UserForm1.Hide
End Sub

Encore merci, ça faisait pas mal de temps que je bloquais là dessus

Si j'avais mis cette condition lors de mes tests c'est parce que si le userform n'était pas ouvert avant de passer à un autre classeur, il n'avait pas besoin d'être ouvert lorsque tu revenais au classeur initial.

En enlevant la condition, tu affiches l'userform à chaque fois que ton fichier est activé. Qu'il ait été ouvert préalablement ou non.

Si c'est bon pour toi tant mieux.

Impec, merci pour ces explications, maintenant je comprend, désolé

Rechercher des sujets similaires à "afficher userform pleine ecran classeur voulu"