Problème: Ouvrir seulement le UserForm et cacher le classeur

bloomby

XLDnaute Occasionnel
Bonjour à tous,

voici mon problème je désire voir seulement mon userform, sans voir le classeur excel, mais à noter mon userform va chercher des données sur ma feuille excel.

on ma fournis se code:

Private Sub Workbook_Open()
Application.Visible = False
UserForm1.Show
ThisWorkbook.Close True
End Sub

Par contre la page ouvre l'instant d'une seconde ferme et finalement plus rien à l'écran impossible de voir le userform.

Lorsque je retourne dans le code: Out of Memory

avez vous une solution ?

merci
 

Temjeh

XLDnaute Accro
Supporter XLD
Re : Problème: Ouvrir seulement le UserForm et cacher le classeur

Bonsoir

Moi perso je met un userform plus grand en arrière en jouant avec showmodal

A+

Temjeh
 

Pièces jointes

  • Fullscreen.zip
    20.9 KB · Affichages: 868
  • Fullscreen.zip
    20.9 KB · Affichages: 919
  • Fullscreen.zip
    20.9 KB · Affichages: 957

Excel-lent

XLDnaute Barbatruc
Re : Problème: Ouvrir seulement le UserForm et cacher le classeur

Bonsoir Bloomby

J'ai testé la macro sur mon PC après avoir fais la modif. suivante (mais je doute que le problème vienne d'ici!) et ça fonctionne à la perfection!

Code:
[I][COLOR="Green"]' Macro se déclenche dès l'ouverture du fichier excel[/COLOR][/I]
[COLOR="Blue"]Sub Auto[/COLOR]_Open()
[I][COLOR="Green"]' Toutes les manipulations que fera la macro, sélectionner la feuille...[/COLOR][/I]
[I][COLOR="Green"]' Ecrire dans la cellule ... ne sera pas visible de l'utilisateur[/COLOR][/I]
[I][COLOR="Green"]' Normalement à la fin de la macro, on écrit : Application.Visible = True[/COLOR][/I]
[I][COLOR="Green"]' Pour voir le résultat final, s'est tjrs mieux ;)[/COLOR][/I]
Application.Visible = False
[I][COLOR="Green"]' Ouverture du formulaire s'appelant "NomDuFormulaire"[/COLOR][/I]
NomDuFormulaire.Show
[I][COLOR="Green"]' Fermer le classeur[/COLOR][/I]
ThisWorkbook.Close True
End Sub

Soucis n°1 à gérer : c'est bien beau de fermer le classeur pour ne pas le voir, mais faut faire attention aux problèmes de sauvegarde! Lors de mon test, les réponses faite dans le formulaire étaient bien présente dans mon fichier lors de sa réouverture, mais mieux vaut attendre un spécialiste de cette manip. Imagine que l'utilisateur travail sur plusieurs fichiers Excel, qu'il n'est pas tout sauvegardé, qu'il ouvre ton fichier et que ce dernier ferme TOUT, sans faire de sauvegarde?

Soucis n°2 à gérer : Etant donné que ta macro se déclenche à l'ouverture du fichier (avec ta méthode, comme avec la mienne) et qu'il se referme automatiquement à la fin. Comment vas-tu reprendre la main sur ton fichier le jour où tu voudras le modifier?????

=> pour ma part, j'ai pu reprendre la main, car j'avais paramétré la "sécurité macro" au niveau moyen, donc à l'ouverture du fichier AVANT toute chose, il me demande si je veux activer les macros, donc en répondant non, le fichier s'ouvre, sans déclencher la macro! Donc j'ai pu reprendre la main facilement.

=> imagine si ton niveau de sécurité est bas? Il ne te demande rien, ouvre directement ton fichier, lance la macro puis referme ton fichier.

C'est dangereux de jouer à ça, sans un minimum de précaution et de connaissance de ce genre de fonction!

Personnellement, je préfère la solution Temjeh et les utilisateurs de ton fichier surement!

Dans l'attente d'un spécialiste pour connaître son point de vue éclairé.

Bonne soirée
 
Dernière édition:

Temjeh

XLDnaute Accro
Supporter XLD
Re : Problème: Ouvrir seulement le UserForm et cacher le classeur

Bonsoir

Je pense que seulement cette partie fara l'affaire

Private Sub Workbook_Open()
Application.Visible = False
UserForm1.Show
End Sub


et sous un bouton fermeture:

Application.Visible = True

...ensuite on close

A+

Temjeh
 

bloomby

XLDnaute Occasionnel
Re : Problème: Ouvrir seulement le UserForm et cacher le classeur

Bonjour merci de votre aide,

Nouvelle question: comment faire pour quitter la feuille excel (fermer tout) lorsque je ferme mon userform (avec le X du coin supérieur droit)

encore merci
 
Dernière édition:

Excel-lent

XLDnaute Barbatruc
Re : Problème: Ouvrir seulement le UserForm et cacher le classeur

Bonsoir Bloomby,

A ma connaissance, le clic sur la croix du formulaire, ferme ce dernier et arrête ta macro et uniquement cela!

quitter la feuille excel (fermer tout)

Pour cela, a priori il faut :
-> rajouter un bouton sur ton formulaire
-> écrire dessus une phrase du style (pour quitter le programme, cliquez ici)
-> à ce bouton tu affectera une macro dans laquelle tu utiliseras la fonction "ThisWorkbook.Close" (mais soit prudent ;) ).

Tu trouveras plus de détail sur la fonction ThisWorkbook.close ici, ainsi que des astuces et des conseils.

A+
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Problème: Ouvrir seulement le UserForm et cacher le classeur

Bonjour à tous

Bloomby:

Il est quand même bizarre ton code (c'est un ami qui te l'a donné!)

Code:
Private Sub Workbook_Open()
Application.Visible = False
UserForm1.Show
ThisWorkbook.Close True
End Sub

Tu masques Excel avec Application.visble=false puis tu affiches ton USf et tu fermes ton classeur. Donc tu perds tout. ET cela bug, c'est un peu normal, non.
 

p.pat27

XLDnaute Junior
Re : Problème: Ouvrir seulement le UserForm et cacher le classeur

Salut Bloomby

essais avec ce code dans UserForm_Initialize()

Private Sub UserForm_Initialize()
Me.Height = Application.Height
Me.Width = Application.Width
End Sub

s'adapte automatiquement à la résolution de l'écran

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 248
Messages
2 086 596
Membres
103 252
dernier inscrit
Ersar