Activer une Userform depuis un autre classeur

Philippe

XLDnaute Occasionnel
Bonsoir le forum,

voilà, j'ai besoin de pouvoir activer une USF du classeur '10.xls' depuis le classeur '1.xls' (et de nombreux autres...) depuis un bouton.
le code associé au bouton du classeur '1.xls' devrait être qqe chose comme celà:
WorkBooks('10.xls').UserForm1.show

mais ce code ne fonctionne pas... Comment dois-je m'y prendre ???

Merci pour votre aide.
 
M

Mytå

Guest
Salut le Forum

Philippe un truc de Frédéric Sigonneau

Code:
J ai 2 fichiers excel: A.xls et B.xls
à partir de A.xls je veux faire appel à un
userform de B.xls. Comment faire ?
Dans le classeur A.xls, tu mets cette macro

Sub Appel()
Application.Run 'B.xls!AfficheUF'
End Sub

et dans le classeur B.xls, dans un module ordinaire tu mets :

Sub AfficheUF()
UserForm1.Show
End Sub

Cependant, dans ce cas c'est le classeur B qui
deviendra le classeur actif.
Si tu veux rester dans le classeur A après avoir lancé le userform du classeur B, le plus simple
est d enregistrer le classeur B.xls en macro complémentaire (B.xla) après avoir
renommé son VBA project pour évter les confusions ultérieures.

Ensuite, installer la macro complémentaire dans Excel (Outils/Macros
complémentaires...), et modifier dans ton classeur A.xls la macro appel pour
qu'elle fasse référence à la macro complémentaire :
Application.Run 'B.xla!AfficheUF'

Ton userform s ouvrira alors avec le classeur A actif.

Frédéric Sigonneau, Papou, 
Ajouté ou modifié le 18/12/2004 (N°1364)

Myta

Message édité par: Mytå, à: 08/04/2006 00:38
 

Discussions similaires

Réponses
11
Affichages
578

Statistiques des forums

Discussions
312 499
Messages
2 089 002
Membres
104 002
dernier inscrit
SkrauzTTV