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 :

Mise au premier plan d'un dossier ouvert depuis Userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut Mise au premier plan d'un dossier ouvert depuis Userform
    Bonjour le Forum,

    Dans mon formulaire, un bouton de commande active le code suivant.
    La variable "Chemin" qui définit le dossier à ouvrir est définie en amont

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell "C:\windows\explorer.exe " & Chemin, vbMaximizedFocus
    Le problème est que le dossier s'ouvre bien, mais reste en arrière plan.
    Ce alors que je souhaite le voir affiché au premier plan.

    Par avance, merci.

    Marcel

  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,

    j'ai crée un nouveau classeur, j'y ai inséré un userform
    j'ai pris ta ligne de code et je l'ai copiée dans la procédure Click du userform

    j'ai lancé le userform. En cliquant dessus, j'ai bien l'explorateur qui s'affiche au premier plan, que le userform soit modal ou non

    aussi, peux-tu nous copier un peu de contenu de ton userform, que l'on prenne connaissance de la mécanique que tu utilises, du moment où tu appelles l'explorateur etc.

  3. #3
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour Joe,

    Merci pour ta réponse.

    En simplifiant au maximum mon développement, je joins ici mon classeur.
    Lorsque j'active le bouton en question, le dossier s'ouvre toujours en arrière plan.

    Un précision : l'icône dossier clignote sur ma barre de taches au bas de mon bureau.

    A plus.
    Fichiers attachés Fichiers attachés

  4. #4
    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
    Citation Envoyé par joe.levrai Voir le message
    peux-tu nous copier un peu de contenu de ton userform, que l'on prenne connaissance de la mécanique que tu utilises, du moment où tu appelles l'explorateur etc.

    Bah oui, on ouvre pas le classeurs avec macro ici, sauf si on a nous-même demandé le classeur.
    La conception de ton fichier importe peu, on a juste besoin de savoir dans quel contexte exact tu appelles l'explorateur

    dans mon test, mon contexte était : sur l'évènement click d'un userform modal (ne contenant aucune autre procédure), j'ai collé ta ligne de code et l'explorateur s'affiche bien au premier plan.
    Tu vois, sans aucun fichier et en une seule phrase ça tient. Ajoutes simplement tes procédures utilisées et on aura tout ce dont on a besoin pour comprendre et tenter de reproduire ton environnement

  5. #5
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Je peux me tromper mais je ne vois pas pourquoi aucun classeur avec macro ne peut pas être ouvert.

    Cela dit, un bouton de commande se trouve dans mon formulaire.

    Voici le code associé à ce-dernier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Btn_dosssier_Click()
    Dim Chemin As String
    Chemin = "C:\Documents\monmatriculeprofessionnel\Documents"
    Call Ouvrir_ledossier(Chemin)
    End Sub
     
    Public Sub Ouvrir_ledossier(ch)
     
    Shell "C:\windows\explorer.exe " & ch, vbMaximizedFocus
     
    End Sub

  6. #6
    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
    Je n'ai jamais dis que les classeurs ne pouvaient pas être ouvert, j'ai juste dit que nous ne les ouvrons pas ("nous" = 95% des contributeurs actifs)

    Pour des questions de sécurité d'une part, mais également pour forcer les gens à structurer leurs explications.
    Car en la structurant, on met souvent le doigts sur la logique qui génère le problème rencontré.

    Je viens d'ajouter dans mon userform test un bouton, que j'ai appelé Btn_dosssier
    J'ai supprimé ma procédure Click et j'ai collé tes deux procédures présentées sur ton dernier message

    Las, j'ai l'explorateur qui n'arrive qu'au bout d'une seconde (ça doit être mon PC), mais il arrive bien au premier plan de mon côté, que le userform soit modal ou non

    Je n'arrive pas à reproduire le comportement que tu rencontres


    EDIT : regarde, j'ai fais un effort, j'ai ouvert ton classeur ..... pas de chance à nouveau j'ai l'explorateur qui arrive au premier plan
    ce n'est donc pas ton classeur, tout du moins celui fourni, qui pose problème
    peut-être à voir côté Windows ? Là je sèche, vais passer la main à d'autres, et vais me contenter de suivre attentivement cette discussion si je n'arrive pas à reproduire le comportement

  7. #7
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    OK...

    Je pense qu'il s'agit peut-être d'une option de dossier, mais que je n'arrive pas à déceler.

    Merci.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Sans conviction, j'ai fais un truc comme ça sous xp mais c'est vieux!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    hWnd = Shell(fichier)
    SetFocus(hWnd)

  9. #9
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Essaye ceci, qui n'ouvre pas le dossier, mais le sélectionne dans l'explorateur. C'est juste pour tenter de déterminer la cause :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell "explorer /select," & ch, vbMaximizedFocus
    Si ne passe pas au premier plan non plus, cela veut peut-être dire que quelque part dans ton code, des instructions existent pour mettre ton userform en "topmost".
    Es-tu le créateur de cette application ? Contient-elle des utilisations de fonctions de l'Api de Windows ? Si oui : lesquelles ?

  10. #10
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Mes excuses pour le délai de ma réponse.

    Merci pour ces pistes.

    Je regarde dès que possible et vous reviens.

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/04/2025, 18h44
  2. [AC-2010] Mettre au premier plan un programme déjà ouverte ou non...
    Par ESAssociation dans le forum VBA Access
    Réponses: 1
    Dernier message: 28/03/2014, 16h38
  3. Mettre en premier plan une GUI déjà ouverte
    Par lio908 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 14/05/2012, 10h56
  4. Réponses: 0
    Dernier message: 24/03/2009, 18h27
  5. Réponses: 1
    Dernier message: 22/05/2007, 16h03

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