cs_danbo
Messages postés22Date d'inscriptionmardi 4 décembre 2007StatutMembreDernière intervention 3 décembre 2009
-
7 avril 2008 à 17:27
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
9 avril 2008 à 23:18
bonjour,
je programme un code dans un fichier excel, qui appelle une dizaine de fichiers différents pour en prélever des données et les regrouper. il les referme à la fin du traitment.
Or, lorsque je veux ouvrir le dernier, celui-ci se met automatiquement en mode création de macro (alors que je ne le lui demande pas) et stoppe la routine
Le code principal est donc arrêté, impossible de poursuivre.
Les 3 lignes traîtresses sont les suivantes:
------------------------------------------- R:\ = serveur ---------------------
fichier = "SuiviMPF.xls"
ChDir "R:\TABLEAUX DE BORD\Logistique\Besoins clients\Cdes clients"
Workbooks.Open Filename:=fichier
------------------------------------------------------------------------------
alors que j'utilise cette commande par 10 fois avant.
1) pourquoi cela arrive-t-il ?
2) comment interdire le passage en mode creation de macro, dans un code VBA ?
NB : utilisation sous excel 2003
Paul était adulé par la ville de Paris, mais il aimait lire Victor Hugo à Toulouse. Alors Paul quitta Paris qui le pleura, car Paris aimait trop Paul. De plus Paul aimait le Victor, alors je vous dis pas...
cs_danbo
Messages postés22Date d'inscriptionmardi 4 décembre 2007StatutMembreDernière intervention 3 décembre 2009 8 avril 2008 à 06:48
bonjour, MPi et Renfield,
quelque soit la forme d'écriture, comme je l'ai indiqué, ou synthétique, comme l'a faitRenfield, le problème reste le m^me.
Par ailleurs, le fichier SuiviMPf a été créé au départ manuellement, comme les 10 précédents.
J'ai testé différentes formes, dans la macro principale ou dans un code Sub séparé, rien n'y fait.
J'ai même choisi un autre nom de fichier, mais le problème est toujours là.
peut etre vaut il mieux que je formule ainsi:
"Qu'est-ce qui peut mettre un fichier en mode creation de macro quand on l'appelle, sans le faire manuellement ?" . Est-ce un problème de système d'exploitation, de version Excel ?"
Je cherche toujours de mon côté;
Les 4 coins de l'hexagone sont orphelins de 2 autres
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201822 8 avril 2008 à 10:50
Et qu'est-ce que tu entends exactement par "en mode création de macro" ?
Ton programme se retrouve dans l'IDE ? ou ton fichier se retrouve avec la petite barre de menu enregistrement de macro ?
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
cs_danbo
Messages postés22Date d'inscriptionmardi 4 décembre 2007StatutMembreDernière intervention 3 décembre 2009 8 avril 2008 à 16:45
Bonjour,
lorsque le fichier est appelé, le bouton de commande macro (le petit triangle bleu) passe en mode création de macro, comme si j'avais cliqué dessus avec la souris : C'est bien avec la barre d'enregistrement de macro, MPi
C'est une interruption juste au niveau de ces lignes de code.
Le fichier appelé est par ailleurs totalement vierge de toute donnée, Renfield
A force de taper sur la tête des clous, les pieds finissent bien par s'enfoncer, et quand les têtes touchent le sol, il n'y a plus rien à faire.
cs_danbo
Messages postés22Date d'inscriptionmardi 4 décembre 2007StatutMembreDernière intervention 3 décembre 2009 9 avril 2008 à 15:36
Bonjour, je veux bien balancer le bout de code, mais il est très long, il y en a pour plusieurs centaines de lignes.
Toutefois pour vraiment cibler, je précise que le code fonctionne parfaitement jusqu'à ce qu'il tombe sur les lignes décrites ici.
J'enlève les lignes, tout est lu jusqu'au bout. J'ajoute les lignes, ça bogue.
Je cherche quand même, au cas où... peut-etre même en dehors d'Excel ?!
Je suis d'accord pour dire aussi que c'est étrange .
La persévérance vaut mieux qu'un "tiens ça commence par me gonfler" , et je laisse tomber, car un jour ou l'autre, ce que l'on n'a pas terminé revient au galop.