Fermer UserForm après Saisie

lilian3333

XLDnaute Nouveau
Bonjour à tous et toutes

Je rejoins votre communauté car je me lançe dans le language VBA via les UserForm.
J'ai un fichier avec x onglets qui via un useform de saisie me permet de me positionner sur le bon onglet. (Jusque là j'y suis parvenu..).
Mon souhait serait qu'aprés la saisie et donc la recherche d'onglet faite l'userform disparaisse sans avoir à cliquer sur la croix rouge.
J'ai cherché dans les les forums des approches similaires qui sont sans résultat.
Aussi je fais appel à votre bienveillance à tous et surtout votre savoir faire afin de m'aider .
Vous remerçiant par avance du temps que vous voudrez bien accorder à ma demande.
 

lilian3333

XLDnaute Nouveau
Re : Fermer UserForm après Saisie

Bonjour
Merci pour votre réponse mais cela ne fonctionne pas dans la cas Unload l'userform disparait avant d'avoir pu faire ma saisie dans le cas du me.hide il prends en compte ma première saisie (1 frappe) puis disparait .....
Avez vous une autre idée..

Merci quand même
 

lilian3333

XLDnaute Nouveau
Re : Fermer UserForm après Saisie

Ma feuille comporte x onglets nommés via un numéro.
Mon userform me permet via un bouton de recherche de rentrer le numéro de ma feuille dans une TextBox (exemple: If TextBox1.Text = "904211" Then Sheets("904211").Select) Mais mon userform reste afficher jusqu'à ce que je clique sur la croix afin de le fermer et c'est cette étape que je souhaite supprimer.
Merci encore
 

MathildeQ

XLDnaute Nouveau
Re : Fermer UserForm après Saisie

Bonjour,
et bien dans ton bouton recherche à la fin tu met unload ton_userform:

Private Sub recherche_Click()

Sheets("ta_feuille").Select
'ou
Call ta_macro_recherche

Unload ton_userform

End Sub



Normalement cette formulation fonctionne !
Cordialement,
Mathilde
 

tototiti2008

XLDnaute Barbatruc
Re : Fermer UserForm après Saisie

Bonjour à tous,

sur l'évènement Exit du textbox où tu tapes ton nom de feuille, tu réalises l'action que tu veux (sélectionner le feuille qui porte ce nom par exemple) et tu masque ton userform, soit avec un

Userform.Hide

soit avec un

Unload Userform

tout dépend si tu veux retrouver la valeur en question la prochaine fois que l'userform apparaît
 

lilian3333

XLDnaute Nouveau
Re : Fermer UserForm après Saisie

Bonjour

Je suis désolé mais les réponses faites ne m'ont pas aidés dans ma recherche ou bien c'est moi qui ne perçoit pas la justesse de la réponse.
Ci joint un fichier simple de ma requête.
On clique sur le bouton qui ouvre l'userform dans lequel je rentre le numéro de la feuille recherchée .
Cela m'amène sur la dite feuille (Très utile sur un classeur de plus de 50onglets) et à ce moment là je souhaite ne pas avoir à cliquer sur la croix rouge afin de fermer l'userform mais que celui ci se ferme tout seul.

Avec cet exemple peut être cela sera plus facile pour m'aider.

Merci dans tous les cas de votre aimable attention.
 

Pièces jointes

  • TEST.xls
    29.5 KB · Affichages: 152
  • TEST.xls
    29.5 KB · Affichages: 149
  • TEST.xls
    29.5 KB · Affichages: 161

Cousinhub

XLDnaute Barbatruc
Re : Fermer UserForm après Saisie

Bonjour,

Un TextBox me semble dangereux, pour une sélection d'onglet (pas le droit à l'erreur....)

Regarde dans le fichier joint, un Combobox, avec le nom des onglets, au choix...
 

Pièces jointes

  • TestvTEST__OK__Décompte_PH_v21_v1.xls
    29 KB · Affichages: 156

lilian3333

XLDnaute Nouveau
Re : Fermer UserForm après Saisie

Bonsoir

Merci pour cette réponse mais mon souhait n'était pas de faire une combo liste car sur plus de 40 lignes on perd trop de temps à chercher..En effet les numéros sont connus donc pas de risque d'erreur.
Dommage car en effet aprés la saisie le masque disparait pourrais je obtenir le même résultat mais avec ma demande initiale.
Merci beaucoup pour votre patience.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Fermer UserForm après Saisie

Bonsoir le fil, bonsoir le forum,

Si tous tes onglets ont le même type de nom à 6 caractères ce code pourrait te convenir :
Code:
Private Sub TextBox1_Change()
If Len(TextBox1.Value) < 6 Then Exit Sub
If TextBox1.Text = "904211" Then Sheets("904211").Select
If TextBox1.Text = "906230" Then Sheets("906230").Select
Unload Me
End Sub
 

lilian3333

XLDnaute Nouveau
Re : Fermer UserForm après Saisie

Merci vraiement à tous et toutes pour vos réponses nombreuses.
Robert à trouver ma solution du moment et tous les autres via leurs réponses m'ont apportés beaucoup pour d'autres projets.

Merci encore et à bientôt surement....
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 611
Messages
2 090 226
Membres
104 453
dernier inscrit
benjiii88