Masquer un UserForm et laisser une feuille active

Valafar

XLDnaute Nouveau
Bonjour,

Une fois de plus j'ai besoin de votre aide....




  1. J'ai un fichier (fichier UserForm) contenant plusieurs UserForm, le premier me permet d'accéder à 3 autres en fonction de l'Option_button choisi. Par le biais d'un bouton (Retour) je peux revenir à mon UsrForm de départ.

    Sur ces 3 UserForm plusieurs Option_Button (au nombre de 4) me permettent de sélectionner un fichier Excel spécifique (fichier1, fichier2 , fichier3 et fichier4).
    Tous mes différents fichiers (UserForm et les 4 fichiers Excel) sont regroupés dans un dossier (dossier1).

    J'arrive à faire apparaître le fichier lié à l'Option_Button dédié, mais je n'arrive pas à masquer ce dernier afin de pouvoir faire des saisies sur mon fichier Excel.

    Pouvez-vous m'aider à trouver une solution à ce problème?




  1. Je souhaiterai faire le chemin inverse, je m'explique :
    Après saisie, à la fin de l'enregistrement du fichier je veux faire réapparaître mon UserForm précédemment fermé.



Merci par avance.
Val.
 

Valafar

XLDnaute Nouveau
Re : Masquer un UserForm et laisser une feuille active

Re,

J'ai déjà essayé les méthodes "hide" et "show" sans grand succès.
Voici mon code sur le bouton qui valide le choix du fichier excel à ouvrir :

Private Sub CommandButton3_Click()

If OptionButton1 = True Then
Workbooks.Open Filename:="F:\CG33\Projet signalisation\Sign\SignTemp.xls"
Sheets("Signalisation").Visible = True
UserForm2.show 0
'ne fonctionne pas
End If
End Sub

Mon fichier s'ouvre mais l'UserForm reste devant, rendant la saisie impossible.

Cordialement.
 

Pierrot93

XLDnaute Barbatruc
Re : Masquer un UserForm et laisser une feuille active

Re,

un code comme celui-ci fonctionne chez moi et me permet d'accéder au fichier Excel...
Code:
Private Sub CommandButton1_Click()
If OptionButton1 = True Then
Workbooks.Open Filename:="F:\CG33\Projet signalisation\Sign\SignTemp.xls"
'Sheets("Signalisation").Visible = True
UserForm1.Hide
UserForm1.Show 0
'ne fonctionne pas
End If
End Sub
 

Valafar

XLDnaute Nouveau
Re : Masquer un UserForm et laisser une feuille active

Re,

Merci de me consacrer du temps.....

J'ai copié ton code, remplacé le numéro de l'UserForm par 2 (UserForm2), mais ça ne fonctionne pas.

Mon fichier s'ouvre mais mon UserForm reste devant.

Je joins mon fichier pour miux comprendre.
Il faut exécuter le premier UserForm, ensuite sélectionner "Saisie", valider. Sur le second UserForm choisir "blaye" et valider. Le fichier dois s'ouvrir en principe.

Val.



Édité car il manquait un bout du message et le fichier n'était pas le bon, désolé.
 

Pièces jointes

  • UserForm.xlsm
    17.4 KB · Affichages: 78
  • UserForm.xlsm
    17.4 KB · Affichages: 77
  • UserForm.xlsm
    17.4 KB · Affichages: 85
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Masquer un UserForm et laisser une feuille active

Re,

bah.;. en modifiant ainsi :
Code:
If OptionButton2 = True Then
Unload Me
UserForm2.Show 0
End If

je peux saisir dans la feuille du classeur ouvert.... A noter je n'ai pas exécuté cette instruction...
Code:
Application.Visible = False
 

Valafar

XLDnaute Nouveau
Re : Masquer un UserForm et laisser une feuille active

Re,

L'UserForm se réinitialise bien (Option_Button1 n'est plus "actif"), mais il reste en plein milieu d'écran.......

Mon problème ne viendrait pas du fait que j'ai commencé mon projet à la maison avec Excel 2007 et que sur mon pc de travail (là ou il sera utilisé) j'ai Excel 2003?

Si je plaçais tous les fichiers (UserForm et de saisies) dans le même classeur, ça ne règlerait pas le problème??


Val.
 

Pierrot93

XLDnaute Barbatruc
Re : Masquer un UserForm et laisser une feuille active

Re,

bah comprends pas trop là... chez moi aussi l'usf reste affiché.... mais la feuille excel est accessible.... si tu veux cacher l'usf 2 :
Code:
Private Sub CommandButton3_Click()
If OptionButton1 = True Then
'Workbooks.Open Filename:=ThisWorkbook.Path & "Temporaire.xls"
Workbooks.Open Filename:="F:\CG33\Projet signalisation\Sign\SignTemp.xls"
'Application.Visible = True
Me.Hide
End If
End Sub

mais bon vois pas trop où tu veux en venir dans tout ca..... pourquoi 4 usf alors qu'un seul devrait suffire.... enfin bon...
 

Valafar

XLDnaute Nouveau
Re : Masquer un UserForm et laisser une feuille active

Re,

Ca y est ça fonctionne!!
En bidouillant le code je suis parvenu à ce que je recherchais.
Merci pour tout, sans toi je n'y serais jamais arrivé:D
Mon fichier comporte 4 UserForm afin d'alléger mon fichier (en le découpant par catégorie) qui fait 80 000 ko (et il n'est pas terminé).
De plus certains utilisateurs n'auront accès qu'à un seul UserForm suivant leurs besoins.

Voici le code si ça peut servir à d'autre :

Code:
Private Sub CommandButton3_Click()

Me.Hide
Unload UserForm2
UserForm1.Show 0
If OptionButton1 = True Then
Workbooks.Open Filename:="F:\CG33\Projet signalisation\Sign\SignTemp.xls"
Sheets("Signalisation").Visible = True
End If
End Sub

Val.
 

Discussions similaires

Statistiques des forums

Discussions
312 595
Messages
2 090 093
Membres
104 374
dernier inscrit
cheick.coulibaly@dcsmali.