Ouvrir un fichier à partir d'un autre fichier

Bonjour à tous,

C'est l'histoire du chien qui court après sa queue ....

En effet je veux ouvrir un fichier2.xls à partir d'un fichier1.xls grâce à un bouton contenu dans le fichier1. Mais là où ça se corse c'est que je veux que le fichier1 se ferme. Donc de deux choses l'une :

1)d'abord je demande l'ouverture du fichier 2 mais alors je perds l'accès à la fermeture du fichier1 contenant cette commande

2) d'abord je demande la fermeture du fichier1 et dans ce cas je perds le code de commande d'ouverture du fichier 2

J'espère avoir été clair. Je n'ai pas de code à présenter car mes réflexions ne sont que virtuelles, malgré tous mes essais

Cdt

Bonjour,

Il est nécessaire de faire référence à ThisWorkbook qui est le classeur contenant la macro du fichier 1 :

Sub OUVERTURE()
Workbooks.Open ("C:\Users\****\Desktop\Nouveau Feuille de calcul Microsoft Excel.xlsx") 'Chemin à adapter car je n'ai pas votre code d'ouverture
ThisWorkbook.Close True
End Sub

Cdlt,

Bonjour Ergotamine,

J'ai suivi votre conseil, mais le fichier2 ne se ferme toujours pas réellement (il apparaît toujours dans la barre des tâches). Est ce dû au fait que j'utilise un Userform pour l'appeler à partir du fichier1 (j'en doute).

Je vous joins les deux fichiers. Evidemment les chemins seront à actualiser en fonction de leur emplacement chez vous

Merci et bonne journée

Jacques

2fichier1.zip (22.67 Ko)
4fichier2.xls (33.50 Ko)

Bonjour,

Si j'ai bien compris ce que vous souhaitez faire il faut inscrire la même chose dans votre fichier 2 :

Sub Bouton1_Clic()
Workbooks.Open ("C:\Users\toch\Desktop\fichier1.xls")
ThisWorkbook.Close True
End Sub

Ainsi lorsque vous cliquez sur Fichier 2 à partir du fichier 1, fichier 2 s'ouvre et fichier 1 se ferme. Lorsque vous cliquez sur le Bouton1, le fichier 1 s'ouvre et le fichier 2, identifié via ThisWorkbook car le code du Bouton1 se trouve dans le fichier 2, se ferme.

Si ça n'est pas ça merci de détailler EXACTEMENT ce que vous souhaitez faire, enchaînement des opérations, actions devant être réalisées par les différentes macros, etc ...

Cdlt,

Non, non, j'avais bien compris votre suggestion et en l'appliquant cela fonctionnait. Mais je me pose une question particulière : pourquoi dans la barre des tâches, après avoir demandé la fermeture du fichier 2, ce dernier apparaît toujours (dans la barre des râches). Par contre comme le code a bien fonctionné si je ferme l'Userform du fichier 1, c'est bien le fichier1 et lui seul qui apparaît sur l'écran.

Ma question ne porte donc que sur "l'attitude" bizarre de la barre des tâches qui me laisse perplexe !

Merci pour votre aide

Cordialement

Bonjour,

Après une heure j'ai enfin réussi à régler ce comportement. Même si je le comprenais je ne savais pas comment le régler. En fait, lorsque vous fermez votre classeur fichier 2, vous avez le USF du fichier 1 qui apparaît et empêche toute interaction en arrière plan, donc il faut jouer sur les propriétés de ce dernier (vbmodeless qui permet d'activer les interactions/navigation en arrière plan) et les interactions entre vos fichiers :

Private Sub Workbook_Activate()
Intro.Show vbModeless
End Sub

Sub Bouton1_Clic()
Set WB = Workbooks.Open("C:\Users\toch\Desktop\fichier1.xls")
ThisWorkbook.Close
End Sub

Cdlt,

3fichier1.xls (41.50 Ko)
3fichier2.xls (30.50 Ko)

Un grand merci, j'ai encore appris quelque-chose et je pourrai mourir tranquille mais le plus tard possible évidemment (lol)

Bien Cordialement

Jacky

Bonjour,

Je reviens vers vous avec mon problème d'appel d'un fichier à partir d'un autre. En effet je ne mettais pas tout de suite rendu compte qu'il y avait encore un petit souci : à l'appel du fichier2, ce dernier s'ouvre bien sur la première feuille, mais en ce qui concerne le VBA Project, par alternance, c'est soit la feuille1, soit le module qui est activé, ce qui est gênant car je désire faire une mise à jour dans la feuille 1 grâce au code qu'elle contient.
Je ne comprends absolument pas et reste perplexe.

Bien cordialement

Jacky

C'est fait, j'ai trouvé ma bêtise.

Le code de mise à jour de ma feuille1 était mal situé, je l'ai inscrit dans un module en tant que procédure qu'il me suffit d'appeler à l'ouverture de ma feuille1.

C'était tout bête

Merci encore pour tout

Rechercher des sujets similaires à "ouvrir fichier partir"