Application.run

Bonjour juste une question rapide , je remarque que lorsque que j'utilise application.run dans un code les instructions qui suivent

ne sont pas executés comme dans cette exemple :

chemin = ThisWorkbook.Path
Workbooks.Open Filename:=chemin & "\B.xlsm"  'j'ouvre un second classeur B depuis A.
Application.Run "'B.xlsm'!fermer" ' j'execute une macro de fermeture du classeur B que je viens d'ouvrir .
Workbooks("A.xlsm").Sheets("START").Activate ' je me retrouve sur la page de mon classeur A 
MsgBox "B est fermé"  ' [b]cette instruction n'est pas executée [/b]

je remarque precisement que tout ce qui vient apres application.run , meme comme ouvrir un formulaire dans A ne se fait pas

Est ce ma facon de rediger ou manque t il une instruction , j'ai tenté avec DoEvents ..mais rien

Merci par avance pour toute suggestion ou idée .

Bonjour,

on peut supposer que ta macro Fermer n'est pas propre et que tu pousses le classeur B à se 'suicider', du coup il n'arrive pas en fin de macro.

Pourquoi ne pas mettre ton code de Fermer dans workbook_close de B, et de le fermer proprement depuis A avec .Close. A n'attendra pas une fin qui n'arrive jamais.

eric

salut Ériiic pas mal comme tournure, je vais faire selon ton conseil qui m à l air plus, sage, a vrai dire je pensais pas qu on devait manipuler des fichiers avec délicatesse au risque de les voirs mourir

Rechercher des sujets similaires à "application run"