Je suis en train d'écrire une macro VBA dans Excel qui est censé ouvrir "fileB.xls", puis fermer immédiatement après son ouverture. Puisque nous allons parler de 3 fichiers Excel, je vais appeler le premier fichier A.VBA "ThisWorkbook.Close" Ne ferme pas ce classeur!
Le code des boutons du formulaire utilisateur pour le fichier A ressemble à ceci. Une fois que "fichierB.xls" s'ouvre, il lance un formulaire pour collecter des informations sur l'utilisateur.
Cependant, le fichier d'origine ne se ferme pas après l'ouverture de "fileB.xls".
Sub Workbook_Open()
'Code in FileB '
'Display a form to obtain information from the user. '
frmOpenFile.Show
End Sub
Il peut être intéressant de noter que fileB ouvre un troisième et dernier fichier Excel (FileC). Le code similaire au code de FileA est utilisé dans FileB et fonctionne correctement lors du lancement de FileC (FileB se ferme bien). L'idée est qu'il existe un fichier "maître" dans lequel vous choisissez le formulaire que vous devez remplir. Ce fichier maître se ferme ensuite et permet à l'utilisateur de remplir le formulaire, et en fonction de l'entrée de l'utilisateur, un fichier Excel final est ouvert. Donc, juste pour réitérer le problème, FileA s'ouvre, lance un userform, l'utilisateur clique sur un bouton, File B démarre, FileA ne se ferme pas quand il le faut.
Je serais reconnaissant pour toute aide!
EDIT: Je dois noter que si vous réécrivez FileA pour ouvrir directement FileC, FileA se ferme correctement. L'utilisateur peut-il former à partir de FileB empêcher le fichier A de fermer?
Vous, monsieur, êtes un Dieu parmi les hommes. Je m'étais cogné la tête contre cela pendant la majeure partie de la matinée. – Sumason