IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Userform non modal et Refedit: la sélection reste bloquée [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 5
    Par défaut Userform non modal et Refedit: la sélection reste bloquée
    Bonjour à tous,

    Je réalise en ce moment un programme dont l'objectif est de récupérer des données sur un autre classeur. Pour ce faire, des RefeEdit sont générés de manière dynamiques sur un Userform. Ayant lu différentes conversations à ce sujet, j'ai décidé de paramétrer le userform en non modal.

    Cependant, lorsque que je souhaite sélectionner une cellule, l'adresse de celle-ci s'affiche bien dans le RefEdit mais il m'est impossible de retourner sur le Userform contenant le RefEdit. En effet, la sélection reste bloquée sur le classeur excel et le Userform devient in-sélectionnable.

    Paramétrer le Userform en ShowModal = True réalise l'exacte opposé. C'est à dire que cette fois, il est possible de retourner sur le Userform MAIS il n'est plus possible de sélectionner tout classeurs excel ouverts.

    Je vous remercie d'avance pour vos idée.
    Cordialement,

    V.I.T.R.I.O.L.

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    je n'ai jamais vraiment utilisé ce contrôle

    un petit exemple ici, peut être que ça t'aidera ?
    http://ericrenaud.fr/refedit.htm

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    C'est un problème connu. Essaie en mettant un bouton de commande sur l'userform. Ce bouton affichera un second userform modal, lui même affichant le refedit.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 5
    Par défaut
    Bonjour,

    Merci pour vos réponses rapides.

    un petit exemple ici, peut être que ça t'aidera ?
    http://ericrenaud.fr/refedit.htm
    Malheureusement, rien ne me permet de résoudre le problème. La RefEdit créé vraiment un soucis de "modalité" du Userform en voulant à tout prix garder le focus d'une cellule excel. C'est d'ailleurs assez incroyable car même si l'on veut forcer le changement de modalité du Userform en passant de true à false tel que suit, le problème persiste...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Userform.Hide
    Userform.Show False
    Unload Userform
    C'est un problème connu. Essaie en mettant un bouton de commande sur l'userform. Ce bouton affichera un second userform modal, lui même affichant le refedit.
    En réalité il existe deux cas de figures:
    1er cas: le Userform est définit comme non-modal. Dans cette situation, si j'utilise un RefEfit du Userform, il reste bloqué sur la page excel. Impossible donc de revenir sur le Userform pour activer un quelconque bouton.
    2eme cas: le Userform est définit comme modal. Là, même si le RefEdit bloque la sélection sur l'Excel, il est possible d'aller sur un bouton et d'afficher un autre Userform. Le programme tourne parfaitement, en particulier si l'on récupérer des valeurs sur le classeur source (ou le classeur comportant le code VBA, appelons le "classeur A"). Cependant, si je souhaite récupérer des valeurs d'un autre classeur excel ("classeur B"), le focus va être être maintenu à l'extérieur du "classeur A". Le programme tourne toujours et jusqu'au bout MAIS lorsqu'il est terminé, toutes les feuilles excel sont désactivées (donc celles du classeur A et B). Il est impossible de sélectionner quoi que ce soit.

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Essaie alors avec un inputbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Plage = Application.InputBox("choisissez une plage", Type:=8)

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 5
    Par défaut
    Je trouve l'idée de l'InputBox très intéressante, merci.

    Cependant, au lieu d'implémenter dynamiquement des RefEdits, il faudra que je créé des boutons avec à chacun un Event associé à l'apparition d'une InputBox (ainsi que des TextBox d'affichage). Cela va impacter lourdement mon code mais il s'agit d'une solution plus robuste que celle du RefEdit, qui a été ma principale source de problème depuis le début. Je regrette de ne pas y avoir pensé plus tôt...

    Si toutefois vous avez d'autres idées n'hésitez pas. C'est quand même curieux qu'un control comme le RefEdit soit aussi défaillant pour un logiciel utilisant ses fonctions de manière aussi large.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Userform non modale vide !
    Par Gloubi99 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 14/04/2010, 18h40
  2. Pb référence / userform non-modal
    Par DARKALANE dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 01/09/2009, 21h03
  3. [Toutes versions] Userform non modal = plantage d'excel
    Par youn1096 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/05/2009, 16h39
  4. [E-02] Comment garder un Userform non Modal affiché ?
    Par Frutchy dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 23/12/2008, 02h36
  5. UserForm non modal mais arrêtant la macro
    Par oohcalme dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2008, 11h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo