2013-04-16 5 views
1

J'ai un userform avec des cases à cocher, des champs de texte et les choses habituelles, y compris un bouton que j'aimerais utiliser pour ouvrir une feuille de calcul Excel. C'est assez facile à faire:Comment ouvrir un fichier à partir d'un userform et le modifier avec l'userform

Private Sub CMB2_Click() 
    Workbooks.Open Filename:="G:\Formular.xlsm" 
End Sub 

En faisant cela, le fichier ne peut pas être travaillé; en d'autres termes, il n'est pas actif. Le fichier est actif et, tant que le formulaire n'est pas fermé ou annulé, le fichier est verrouillé. Je l'appelle verrouillé pour un manque d'une meilleure description.

Si je rends la forme modale, tous les champs du formulaire perdent leur fonction, à l'exception des boutons, mais au moins je peux travailler dans la feuille de calcul ouverte.

UserForm1.Show vbModeless 

Comment puis-je obtenir les deux? Je veux travailler dans la feuille de calcul ouverte et continuer sur le formulaire une fois terminé.

+0

Je suis incapable de reproduire le comportement. Je peux travailler sur le classeur ouvert et en même temps tous les contrôles (cases à cocher, cases de texte, bouton) fonctionnent parfaitement ... –

+0

C'est bizarre ... J'ai essayé à la fois Office 2007 et 2010 et les deux fois il verrouille l'ouvert fichier. Sur quelle version l'avez-vous testé? – Sinbad

+0

Je l'ai testé en xl2010 –

Répondre

3

vous devez ouvrir d'autres fichiers dans la nouvelle instance d'Excel. le code suivant le fera pour vous

Dim xlApp as Excel.Application 
set xlApp = CreateObject("Excel.Application") 
xlApp.Visible = True 
xlApp.Workbooks.Open FileName:="G:\Formular.xlsm" 
+0

BRILLANT .. merci. Travailler dans Office 2007, le prendre fonctionnera également en 2010? – Sinbad

+0

@Sinbad oui cette méthode fonctionne également dans Excel 2010. N'oubliez pas de 'xlApp.Quit' et' Set xlApp = Nothing' à la fin! –

Questions connexes