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 :

Problème affichage UserForm [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut Problème affichage UserForm
    Bonjour à tous,

    Voici mon problème. J'ai un UserForm ("UfAccueil") qui s'affiche dès que la feuille de calcul "Accueil" est activée. L'UF s'affiche dès l'ouverture du fichier.
    Dans cet UF il y a un bouton qui me permet d'aller chercher un fichier dans Word. Jusque là tout fonctionne.

    Lorsque je ferme le fichier Word pour retourner dans mon application, donc à la feuille "Accueil", mon UF ne s'affiche plus, bien que la feuille soit active.
    Que dois-je faire pour résoudre se problème ?
    J'ai, pour le moment, résolu le soucis en faisant un double clique ou un clique droit mais ce n'est pas la panacée.
    Merci par avance pour votre aide

    Voici mon code pour l'affiche de l'UF dans la feuille "Accueil"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub Worksheet_Activate()
    'Procédure à l'activation de la feuille "Accueil"
    Application.ScreenUpdating = False
     
    'On appelle le module pour masquer toutes les autres feuilles
        MasquerToutesLesFeuilles
     
    'On ouvre le formulaire "Accueil"
        Load UfAccueil
        UfAccueil.Show
     
    Application.ScreenUpdating = True
    End Sub
    Et le code pour affichage fichier Word
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Private Sub CmbAcc4_Click()
    'Procédure d'ouverture du fichier "Delais_archivage" dans Word
    Application.ScreenUpdating = False
    'Le formulaire "Accueil" se ferme
        Unload Me
     
    'Le fichier Word est appelé et ouvert
        Set wordapp = CreateObject("Word.Application")
        wordapp.Visible = True
        wordapp.documents.Open "K:\COMMUN\ARCHIVAGE\02-Procedures\Delais_archivage.docx"
        wordapp.Activate
     
    Application.ScreenUpdating = True
    End Sub

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Par défaut
    Salut, le "load" avant le "show" n'est pas nécessaire.

  3. #3
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    Bonjour Christian,

    Merci pour ta précision, mais ça ne résout pas mon problème.
    Bien cordialement

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Par défaut
    Le problème ici c'est que tant que tu ne changes pas de feuille pour revenir sur "acceuil" l'événement worksheet_activate ne sera pas détecté. Si la mécanique d'utilisation ne correspond pas a ce que tu veux faire il va falloir changer de stratégie quand aux conditions d'ouverture de l'USF.

  5. #5
    Membre expérimenté Avatar de lucasgaetan
    Homme Profil pro
    dessinateur BE
    Inscrit en
    Août 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : dessinateur BE
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 175
    Par défaut
    Bonjour Vba14,

    la solution est de ne pas cacher ta UserForm ("UfAccueil") quand tu ouvres word.
    pour cela il faut ouvrir la UserForm en Modeless
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UserForm1.Show (vbModeless)
    et supprimer le "Unload Me" dans le code de ton bouton.

    @+

  6. #6
    Membre éclairé Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Par défaut
    Bonjour lucasgaetan,

    Je ne connaissais pas Vbmodeless. Super ça marche bien.
    Problème résolu.
    Merci beaucoup
    Bien cordialement

  7. #7
    Membre chevronné
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Par défaut
    Oui mais du coup tu ne recharge pas ton USF, il reste chargé avec les info précédentes

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

Discussions similaires

  1. Userform lente problème affichage
    Par Georges P dans le forum Excel
    Réponses: 8
    Dernier message: 28/05/2019, 08h16
  2. Réponses: 3
    Dernier message: 12/10/2017, 18h52
  3. [XL-2007] Problème affichage fenêtre (msgbox, inputbox, userform..)
    Par Leilou65 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/03/2017, 19h38
  4. [XL-2007] Problème affichage userform
    Par flo1411 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/04/2013, 14h37
  5. [XL-2007] Problème affichage userform
    Par flo1411 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/04/2013, 17h43

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