|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 290 ![]() |
Bonjour,
Comme l'intitulé du topic l'indique, Excel permet-il de distinguer la façon dont est ouvert un classeur, à savoir par macro présente sur un autre classeur ou directement ? Plus clairement, je souhaiterais lancer une macro uniquement lorsque le fichier en question est ouvert directement par l'utilisateur, et non lorsque celui-ci est ouvert par nécessité lors de l'exécution d'une macro d'un autre fichier. Merci d'avance. |
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Peu-être que d'inhiber les événements durant l'ouverture te conviendrais :
Code :
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
||
|
10
|
|
|
#3 |
|
Membre confirmé
![]() Inscription : juillet 2007 Messages : 209 ![]() |
Une solution consisterais à alimenter un tableau ( ou 2 tableaux) avec la liste des fichiers ouverts par l'utilisateur et par les macros.
Puisque la collection workbooks correspond à l'ensemble des fichiers ouverts , tu peux utiliser un tableau pour stocker les fichiers ouverts par les macros. J'utilise Excel avec plusieurs fichiers ouverts mais jamais je n'ai eu à faire de distinction entre le type d'ouverture. Lorsqu'une macro à besoin d'ouvrir des fichiers, elle les ouvre mais en fin de traitement je les ferme . Lorsque ma macro ouvre un fichier pour rechercher des donnes , on sait implicitement que ce fichier doit correspondre à une structure donnée ou l'infos des données contenue permet de reconnaitre son type .... J'ai travaillé sur des tableaux de bord qui fusionnaient les ventes de plus de 600 vendeurs , jamais je n'ai eu ta problèmatique. |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 290 ![]() |
Bonsoir,
Merci à tous les deux pour vos réponses. bbil, l'ennuie avec ce code, c'est qu'il risque également de bloquer les macros du premier fichier, pas seulement du second.. non ? CodeFacile, je me retrouve face à cette problématique, car comme j'ai tenté de l'expliquer, le second fichier m'est d'une part utile indépendamment, avec les macros qui sont derrière, mais il m'est aussi utile via un autre classeur qui vient l'ouvrir avec l'une de ses macros. ![]() Enfin, je vais tenter de trouver une autre astuce je pense... |
|
|
00
|
|
|
#5 | |||
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 894 ![]() |
Bonjour,
Citation:
Citation:
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|||
|
|
10
|
|
|
#6 |
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 290 ![]() |
Oui, la macro dont je parle est lancée dans le Workbook_Open. Mais je ne pense pas que ça résolve le problème... Car ce que j'aimerais, c'est que les macros du classeur2 se lancent lorsqu'on ouvre directement ce classeur2, mais qu'elles ne se lancent pas lorsque ce-dernier est ouvert par le classeur1 par nécessité pour récupérer des données..
|
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
bjr,
le code de bbil fonctionne bien, mais peut-être que tu ouvres ton classeur différemment? tu devrais nous mettre le code que tu utilises et qui ne donne pas l'effet désiré
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
10
|
|
|
#8 | ||
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 290 ![]() |
A l'ouverture de mon classeur1, dans le Workbook_Open, j'ai:
Code :
|
||
|
|
00
|
|
|
#9 |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
c'est ce code d'ouverture qu'il faut voir ...
classeur1 ou classeur2 : on ne sait plus lequel ouvre lequel
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
10
|
|
|
#10 |
|
Membre du Club
![]() Inscription : octobre 2006 Messages : 290 ![]() |
classeur2 ouvre classeur1..
Il n'y a pas vraiment de code d'ouverture, c'est un lien hypertext dans le classeur2 qui m'ouvre classeur1. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com