2016-10-06 1 views
0

J'ai un fichier Excel avec un UserForm, ce Userform a un bouton de commande pour ouvrir un classeur par:Impossible de modifier classeur ouvert par macro

Workbooks.Open Filename:= "XXXX.xlsx" 

Le classeur ouvre bien, mais je ne peux pas modifier quoi que ce soit même Je ne peux pas fermer le livre.

J'ai essayé d'utiliser la propriété ReadOnly := False mais ne fonctionne pas. J'ai essayé de changer toutes les options de sécurité dans Excel pour permettre les changements mais c'est la même chose. Mais, si je ferme le Userform ou arrête la macro, je peux modifier et fermer le livre ouvert sans problèmes.

J'ai essayé de mettre une ligne DoEvents après l'ouverture du livre, en pensant à la macro exécute le code et verrouille le livre, mais le problème est toujours là.

Une idée?

pd: Office 2016 accueil & Activé.

+3

Si votre userform est ouvert de façon modale (par défaut), alors c'est tout à fait normal. Vous ne pouvez pas interagir avec Excel tant que le formulaire n'est pas fermé. Si ce n'est pas ce que vous voulez, changez la propriété 'ShowModal' du formulaire en False. – Rory

+0

Cela fonctionne parfaitement, merci beaucoup! –

Répondre

1

Vous pouvez afficher un userform modalement ou non en définissant la propriété ShowModal du formulaire utilisateur ou en utilisant l'option modal de la méthode .Show.

UserForm.Show vbModal 

ou

UserForm.Show vbModeLess 

La méthode ne tient pas compte .Show la propriété ShowModal si est donné l'argument optionnel.