VBA/macro

  • Initiateur de la discussion Nicolas
  • Date de début
N

Nicolas

Guest
Salut,

J'ai un problème avec une macro

Voilà j'ai un classeur qui contient un bouton
Ce bouton m'ouvre une boîte de dialogue d'un autre classeur (macro ci-dessous)

J'aimerais que lorsque ma boîte s'affiche le classeur qui contient le bouton se ferme

Ma macro doit fermer le classeur actif, aller dans Banques.xls et afficher la boite

Mais si je mets activeworkbooks.close (au no 1) la macro ne s'execute pas
alors je sais pas comment fermer ce classeur


Sub BoiteZone()
1
Application.Run "Banque.xls!ChoixZones"

End Sub

Merci d'avance
 
T

Ti

Guest
tu peux tout simplement fermer ton fichier APRES l'appel du userform de banque.xls en mettant dans la feuille Thisworkbook de banque.xls un appel à ce userform (qui doit être, selon ton exemple, ChoixZones)

Private Sub Workbook_Open()
ChoixZones.Show
End Sub

et la macro d'appel de banque.xls, ressemble à celle-ci :

Sub Lancer_Banque()
Dim NomFichier As String
'cache le userform avant d'ouvrir banque.xls, remplace userform1 par le nom de ton userform
Userform1.hide

NomFichier = ActiveWorkbook.Name
Workbooks.Open "banque.xls"
Workbooks(NomFichier).Close
End Sub

comme ça, tu lances Banque.xls, la macro auto_open ouvre le userform
et quand elle rend la main, le fichier d'où est parti l'appel est fermé.
C'est une solution, en attendant d'en avoir trouvé une meilleure, mais elle marche très bien
 

Discussions similaires

Statistiques des forums

Discussions
302 187
Messages
2 001 162
Membres
215 097
dernier inscrit
BDiabi