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 :

Changement de classeur.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 116
    Par défaut Changement de classeur.
    Bonjour,

    Voila mon problème:

    Dans une macro d'un premier fichier excel j'ouvre un deuxieme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Unload UserForm1
    Dim xlApp As Object
    Set xlApp = GetObject(, "Excel.Application")
    xlApp.Workbooks.Open "U:\XXX\formation.xls"
    Worksheets("Feuil1").Activate
    Comme ce fichier est une feuille excel je doit fermer le UserForm1.

    Par contre: je n'arrive pas a fermer ce deuxieme fichier excel et retourner directement dans le Userform1 du premier fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Close True
    Mais je retourne sur la feuille1 du premier fichier

    Peut on ouvrir directement le Userform1 avec le deuxieme fichier et fermer ce deuxieme fichier.

    Merci d'avance de votre aide.

  2. #2
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Slt,
    peut-être en mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'je ferme le classeur
    ActiveWorkbook.Close true
     
    'J'ouvre l'userform
    Userform1.Show
    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 116
    Par défaut
    Salut,

    J'avais deja essayé ton code:

    Mais comme tu fermes le dexieme fichier avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Close true
    Le code suivant n'est pas lu

  4. #4
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Une question:
    Tu lance l'ouverture du 2eme fichier à parir du premier grace a une macro. Et tu fermes le 2eme fichier avec la même macro ou pas?

    EDIT: J'ouvre classeur 1 et je lance un userform avec un bouton de commande. dans l'évènement click du bouton je met ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton1_Click()
    Unload UserForm1
    Dim xlApp As Object
    Set xlApp = GetObject(, "Excel.Application")
    xlApp.Workbooks.Open "C:\Documents and Settings\user\Bureau\essai.xls"
    ActiveWorkbook.Sheets("Feuil2").Activate
    ActiveWorkbook.Close True
    UserForm1.Show
    End Sub
    il m'ouvre bien le classeur "essai", active la feuil2, ferme le classeur essai, et ouvre userform1.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 116
    Par défaut
    ta solution fonctionne par contre je voudrai travaillé X temps dans le fichier
    xlApp.Workbooks.Open "C:\Documents and Settings\user\Bureau\essai.xls"

    Tu ne connais pas un code pour que la macro attende que je clique sur un bouton dans ce fichier pour le fermer et retourner sur le userform du premier fichier.

    cordialement,

  6. #6
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    re, pour mon exemple,
    dans un module de classeur1 je met ce code pour ouvrir le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub ouvrir()
    UserForm1.Show 0
    End Sub
    ensuite j'associe dans le classeur essai un bouton à ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub fermer()
    'me permet d'appeller la macro ouvrir du classeur1
    Application.Run ("Classeur1.xls!ouvrir")
    'Ferme le classeur actif
    ActiveWorkbook.Close True
    End Sub
    bien entendu je supprime dans le code du post précédent ces deux lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.Close True
    UserForm1.Show
    a adapter a tes besoins.

Discussions similaires

  1. Comment fermer un classeur sans enregistrer les changements (dans IE) ?
    Par tinftinf dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/08/2007, 13h34
  2. Changement de l'icone d'une appli sous kdevelop
    Par vedder dans le forum Linux
    Réponses: 3
    Dernier message: 06/02/2003, 14h16
  3. Changement de langue dynamique (D6 et outils de traduction)
    Par agon dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/09/2002, 16h15
  4. URGENT : Zoom et changement de repère
    Par poca10 dans le forum MFC
    Réponses: 5
    Dernier message: 28/05/2002, 13h32

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