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 :

Réouvrir un user form après la fermeture d'un autre fichier [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Requêteur Base de données
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Requêteur Base de données
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Par défaut Réouvrir un user form après la fermeture d'un autre fichier
    Bonjour à tous,

    Je démarre plus ou moins en VBA, j'écris quelques macros et habituellement Google est mon ami mais je suis bien embêté car ce coup ci je ne trouve aucune solution à mon problème.

    Je vous explique : J'essaie de créer un macro afin de faciliter la vie de mes collègues.
    J'ai beaucoup de fichier dans un répertoire, ils ont tous un nom de fichier identique à part une information.

    Donc je me suis dit que j'allais créer un fichier excel qui pourrait demander cette information et ouvrir le fichier demandé.
    J'ai créé un userform pour rentrer cette information et un bouton appelle une macro d'ouverture en reprenant la valeur en question.

    Pas de problèmes jusque là le fichier s'ouvre et on peut travailler dessus.

    Mon problème est le suivant : J'aimerai qu'à la fermeture du fichier ouvert, le userform soit rappelé afin de redemander l'information et ainsi ouvrir un second fichier, voir plus, et qu'on quitte en cliquant sur un bouton quitter sur le user form.
    J'ai essayé pleins de solutions , surtout en macro évènementielles, comme la réactivation du fichier principal et du coup mon user form .show...
    Mais j'ai l'impression que ça boucle à l'infini ...

    Bref si quelqu'un à une idée ... Je suis complétement preneur

    Merci d'avance

  2. #2
    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
    Les évènements du classeur appelé en ouverture ne sont gérables que depuis ce classeur.
    Si tu ne peux agir sur ces évènements, tu n'as alors d'autres possibilité que celle de la vérification par la méthode Application.ontime, de la fermeture du fichier appelé (qui disparait alors de la collection Workbooks) et (si fermeture) faire ce que tu entends faire depuis le fichier appelant.
    Il me semble bien que pas plus tard que hier ou avant-hier, une question similaire ***** a été posée (et qu'elle a bien entendu reçu une réponse identique).

    EDIT :
    *****
    La voilà, la discussion similaire en cause --->>
    https://www.developpez.net/forums/d1...r/#post9219755

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Requêteur Base de données
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Requêteur Base de données
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Par défaut
    Coucou unparia et merci pour ta réponse.

    Je ne suis plus au boulot donc malheureusement je ne peux pas tester ... Mais en attendant je vais me renseigner sur ce Ontime et j'ai ouvert ton lien et vu une fonction pour tester l'ouverture ou non d'un fichier

    Merci je pense que ça va beaucoup m'aider.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour à tous,

    Tu as App_WorkbookBeforeClose() dans les événements d'application.
    Ils nécessitent une préparation du classeur avant d'y avoir accès. Dans ThisWorkbook :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private WithEvents App As Application
     
    Private Sub Workbook_Open()
        'récupérer l'application Excel à l'ouverture
        Set App = Application
    End Sub
    Lancer Workbook_Open(), tu as App qui s'est ajouté dans la liste déroulante de gauche, avec tous ses événements dans celle de droite.
    Relancer Workbook_Open() à chaque fois que tu fais une modif de ces événements et que tu les teste pour qu'excel les prenne en compte (un peu ch... mais bon)
    http://www.cpearson.com/excel/AppEvent.aspx
    eric

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Requêteur Base de données
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Requêteur Base de données
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Par défaut
    Bonjour,

    J'ai réussi et je vous dit merci à tous les deux.
    Alors j'ai voulu tester la méthode ONTIME d'abord de unparia.
    Le problème c'est que je n'ai jamais réussi à faire le test de l'ouverture du fichier mais que l'utilisateur garde le contrôle sur le fichier. J'avais besoin que ce soit complètement transparent pour l'utilisateur.

    Mais du coup, avec la méthode d'eriic, j'ai pu faire en sorte qu'à chaque fermeture du fichier, il me réaffiche mon userform pour réouvrir un fichier ou quitter tout.

    Merci donc à vous deux et je passe le post en résolu.

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

Discussions similaires

  1. réouvrir un user form fermé
    Par Gualino dans le forum Débuter
    Réponses: 4
    Dernier message: 24/08/2011, 09h02
  2. [XL-2007] fermeture automatique d'un user form
    Par norman5 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 21/07/2011, 17h45
  3. [C#] Réouverture d'une form après sa fermeture
    Par pagugu dans le forum Windows Forms
    Réponses: 6
    Dernier message: 14/03/2011, 11h54
  4. Réponses: 22
    Dernier message: 15/10/2009, 09h41
  5. Réponses: 3
    Dernier message: 16/11/2007, 20h10

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