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 :

Ouvrir une application directement dans un instance indépendante


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Par défaut Ouvrir une application directement dans un instance indépendante
    Bonjour à tous,

    j'ai pas mal fouillé sur le forum mais je n'arrive pas à trouver la réponse à ma question.

    Je me fais un petit outil de gestion de dossier (création/mise à jour/etc...) et j'offre directement l'interface lorsqu'on clique sur le fichier "Gestion de dossier.xlsm" avec la commande suivante que j'ai renseigné dans le "ThisWorkBook":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
        IHM_Ouverture.Show 0
    End Sub
    Par contre, quand je quitte l'application avec le bouton FERMER que j'ai créé sur l'interface :
    - soit il ferme soit l'instance complète d'excel (commande : Application.Quit) --> problème, tous mes fichiers excel ouvert dans cette instance se ferment aussi... Pas trés pratique
    - soit le fichier excel seul (commande : ThisWorkbook.Close) --> problème, il me laisse l'instance ouverte en arrière plan... Ce n'est pas trés esthétique


    Du coup mon idée serait que lorsque je double-clique sur mon fichier pour ouvrir l'application, il s'ouvre dans une instance dédiée. Comment puis-je faire? et surtout je ne comprends pas à quel endroit mettre les différents codes proposés sur le forum...

    Si quelqu'un peut m'expliquer rapidement, je serais bien preneur. Merci à tous pour votre aide.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 128
    Par défaut
    Bonjour,

    Sinon, juste avant de fermer ton classeur, tu peux regarder si dans ton instance Excel tu as plusieurs classeurs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Workbooks.Count
    Et tu fais une action en fonction du résultat obtenu.

    Par exemple, si tu as 1, tu peux quitter l'application entièrement Si tu as > 1, tu ne fermes que ton classeur. Tu en penses quoi ?


    Slooby

  3. #3
    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
    Impossible de te répondre de manière éclairée sans voir le code mis dans ton userform IHM_Ouverture

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    la solution la plus pertinente selon moi
    - tu fais un test sur le nombre de classeurs ouverts dans l'application au moment de la fermeture du userform
    -- 1 => application.quit,
    -- 2 ou + => thisworkbook.close

    La solution d'une instance independante peut se faire au prix de nombreuses instructions sur les ouvertures de classeurs ou la creation de classeur avec des Cancel de partout.

    La chose a laquelle tu peux egalement penser est de rendre ton application invisible.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 128
    Par défaut
    Citation Envoyé par jpcheck Voir le message
    Salut,

    la solution la plus pertinente selon moi
    - tu fais un test sur le nombre de classeurs ouverts dans l'application au moment de la fermeture du userform
    -- 1 => application.quit,
    -- 2 ou + => thisworkbook.close
    C'est exactement ce que j'ai décrit plus haut

    Un petit "pouce en l'air" sur ma quote me ferait le plus grand plaisir

    Slooby

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Mes excuses, j'avais commence a rediger mon post et j'ai ete appele au charbon, ne le validant que "fort longtemps" apres le tien
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Membre du Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Septembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2011
    Messages : 5
    Par défaut
    Merci Slooby ! MerciJpCheck ! L'idée est excellente ! ça fait 5 ans que j'ai pas codé et je me sens rouillé avec ça! de la pure logique débrouillarde!!


    Je te fais un grand pouce en l'air Slooby ! au top...

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

Discussions similaires

  1. [Débutant] ouvrir une application web dans un navigateur personnalisé
    Par rahimman dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 04/02/2013, 15h33
  2. [ESP] Comment procéder pour ouvrir une application ESP dans WPF ?
    Par fafarun dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 18/09/2008, 17h22
  3. Ouvrir une application dans un form
    Par NejNej dans le forum Windows Forms
    Réponses: 7
    Dernier message: 17/05/2008, 00h43
  4. Ouvrir une application dans eclipse
    Par _Eric_ dans le forum Eclipse Platform
    Réponses: 5
    Dernier message: 03/04/2008, 17h44
  5. Réponses: 1
    Dernier message: 31/10/2002, 11h55

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