Comment enlever le focus d'un controle [Résolu]

Messages postés
9
Date d'inscription
mercredi 6 février 2008
Dernière intervention
14 décembre 2010
- - Dernière réponse : roromag
Messages postés
9
Date d'inscription
mercredi 6 février 2008
Dernière intervention
14 décembre 2010
- 14 déc. 2010 à 16:31
Bonjour à tous !

J'espére que je poste au bon endroit, je suis un perdu dans cette multitude de sections

Je suis en train de faire un formulaire sous access 2003, et je récupère et enregistre les données de ce formulaire via VBA.

Les contrôles du formulaire (étiquettes, listes, zones de texte...) apparaissent au fur et à mesure que les précédents sont remplis.

Quand on valide, (via un clic sur bouton), les données sont enregistrés dans la base, et le formulaire est réinitialisé (les contrôles sont cachés à nouveau et leur valeur est remise à celles par défaut)

Mon problème, c'est que la procédure cachant les contrôles se déclenche sur clic sur le bouton valider, et du coup la procédure plante car elle ne peut pas cacher le bouton puisqu'il a le focus.

J'ai beau chercher, je ne trouve aucun moyen "d'enlever" le focus du bouton au moment de l’exécution de la procédure.

Auriez vous une astuce ?
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
9
Date d'inscription
mercredi 6 février 2008
Dernière intervention
14 décembre 2010
3
Merci
Salut,
juste au cas où ça puisse servir à quelqu'un un jour, voilà comment je m'y suis pris :

Sachant que tous mes contrôles doivent disparaître sauf "zl_reference_demandeur"
    Dim mon_controle As Control
    For Each mon_controle In Me
        If mon_controle Is Me.bt_valider Then
            If Me.zl_reference_demandeur.Visible = True Then
                Me.zl_reference_demandeur.SetFocus
            Else
                Me.zl_reference_demandeur.Visible = True
                Me.zl_reference_demandeur.SetFocus
            End If
        End If
        mon_controle.Visible = False
    Next


Voilà, c'est pas spécialement joli, je sais pas si c'est le mieux adapté, mais ça marche

Merci roromag 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de roromag
Messages postés
23571
Date d'inscription
mercredi 22 octobre 2003
Statut
Contributeur
Dernière intervention
11 décembre 2018
0
Merci
Bonjour,
As tu essayé de placer le focus ailleurs?
Par exemple sur un de tes controls qui lui n'est pas caché par ta macro ?

Regarde du côté de : .SetFocus

Private Sub Button1_click()

'Placement du Focus sur la TextBox1
Textbox1.SetFocus

'--- Suite du ton programme --
' ...tu caches tes contrôls...

End Sub


un 'truc' du genre pourrait surement t'aider.

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
Commenter la réponse de jordane45
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
0
Merci
salut,

exact il faut forcer le focus ailleurs. ex : poser une picturebox visible mais à une position x et y négative

++
[hr]
Commenter la réponse de PCPT
Messages postés
9
Date d'inscription
mercredi 6 février 2008
Dernière intervention
14 décembre 2010
0
Merci
Bonjour bonjour,
désolé j'étais pas mal occupé ces derniers jours.

En fait j'ai pas utilisé cette méthode avant car lorsque je "vide" mon formulaire, je fais un :

Dim mon_controle As Control
    For Each mon_controle In Me
        mon_controle.Visible = False
    Next


Du coup j'ai nul part où mettre mon focus ^^
C'est pas grave, je vais mettre une condition pour changer le focus si le controle sélectionné le posséde, mais j'espérais qu'il existe la possibilité de complétement enlever un focus, ce qui visiblement n'est pas possible.

Merci beaucoup
Commenter la réponse de roromag
Messages postés
9
Date d'inscription
mercredi 6 février 2008
Dernière intervention
14 décembre 2010
0
Merci
Désolé du double post, je vois pas comment éditer mon message précédent, dois-je signaler d'une quelconque manière le sujet comme résolu ?
Commenter la réponse de roromag
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
0
Merci
si une ou plusieurs réponses ici conviennent tu peux les valider par le bouton "réponse acceptée".
sinon tu peux revenir plus tard pour indiquer ta manip et la valider à ce moment

++
Commenter la réponse de PCPT

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.