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 :

Commande vbmodeless qui semble ne pas fonctionner


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur technique
    Inscrit en
    Juin 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 29
    Par défaut Commande vbmodeless qui semble ne pas fonctionner
    Bonjour à tous,

    je vous écris à propos d'un problème qu'un de mes utilisateurs rencontre sur un fichier fonctionnant avec des userforms.

    Ces userforms posent des questions à l'utilisateur. Pour que l'utilisateur ait la possibilité de chercher la réponse dans d'autres fichiers Excel, j'ai utilisé la fonction vbmodeless avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Userform.Show vbModeless
        ' La commande modeless permet a l'utilisateur de pouvoir naviguer dans Excel malgre l'affichage du formulaire
        Do While Userform.Visible
        ' Bloque l'execution du code suivant tant que le formulaire est visible
            DoEvents
        Loop
    Deux problèmes se posent pour certains utilisateurs (2 à ce jour sur 150 utilisateurs) :
    - la commande vbmodeless semble ne pas fonctionner, ils ne peuvent pas afficher d'autres fichiers Excel : à chaque fois, le fichier actif avec l'userform "reprend le dessus" en s'affichant
    - s'ils réduisent l'ensemble des fenêtres, un nouveau userform associé à la suite du code vient s'ouvrir, comme si le doevents ne fonctionnait pas

    Concernant le second souci, je me demande si ce n'est pas associé à la condition "visible". Est-ce que cela signifie que lorsque le userform n'est plus au premier plan lors de l'affichage le code sort de la boucle ?

    Concernant le premier souci, je ne comprends pas pourquoi cela ne fonctionne pas... Car cela fonctionne sur mon poste informatique.

    Auriez-vous des explications ?

    Merci d'avance !

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Possible, effectivement, que ce soit lié au Visible.
    Tu pourrais essayer en plaçant une variable Public en entête de module, du genre
    Public Affiché as Boolean

    Quand tu affiches ton Userform, tu la mets à True.
    Quand tu le fermes, tu la mets à False
    et dans ta boucle, tu vérifies l'état de cette variable, donc tu boucles tant qu'elle True.

  3. #3
    Membre averti
    Femme Profil pro
    Ingénieur technique
    Inscrit en
    Juin 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 29
    Par défaut
    Bonjour,

    en effet, il semble y avoir une faille avec l'utilisation de visible, et j'ai introduit une variable qui règle le souci.

    Par contre le problème de formulaire qui semble rester modal sur certains postes persiste. Malgré la commande "vbmodeless" après chaque formulaire, impossible de naviguer sur un autre fichier excel ouvert.
    De plus, est-il normal que l'ouverture d'un autre fichier excel reste impossible tant que le formulaire est ouvert ?

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Je ne vois pas pourquoi ça ne fonctionne pas sur certains appareils.
    Ça peut peut-être dépendre de certaines manipulations de ces Userform... (?)
    Est-ce que utilises Hide sur certains formulaires pour les masquer ou tu les fermes systématiquement avec Unload ?

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Bonjour,

    coté VBE, il suffit de modifier la propriété de l'UserForm ShowModal à False
    pour que l'UserForm soit en modeless par défaut …



    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, …

  6. #6
    Membre averti
    Femme Profil pro
    Ingénieur technique
    Inscrit en
    Juin 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 29
    Par défaut
    Merci de vos premières réponses.

    Tous mes formulaires se ferment avec "Unload". Je vais créer un fichier avec un userform dont la propriété show modal est fixée à "false" pour voir si cela fonctionne.

Discussions similaires

  1. opérateur % qui semble ne pas fonctionner
    Par tmlpqsdpmdlc dans le forum MySQL
    Réponses: 2
    Dernier message: 29/11/2015, 03h09
  2. [Thread] interrupt qui semble ne pas fonctionner
    Par Balbuzard dans le forum Concurrence et multi-thread
    Réponses: 2
    Dernier message: 05/09/2008, 11h17
  3. [Système] Commande system qui ne marche pas
    Par marie59 dans le forum Langage
    Réponses: 7
    Dernier message: 16/05/2007, 17h40
  4. [debutant] page html qui ne fait pas fonctionner la fonction
    Par Battosaiii dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/03/2006, 19h25
  5. [firePropertyChange] semble ne pas fonctionner ?
    Par jcodeunpeu dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 19/12/2005, 14h37

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