Fermer workbook ouvert depuis une macro dans userform

Fermer workbook ouvert depuis une macro dans userform - VB/VBA/VBS - Programmation

Marsh Posté le 23-06-2017 à 13:43:26    

Bonjour le Forum !  
 
Merci d'avance de votre aide :)
 
J'ai fais quelques recherches avant de lancer ce Topic, et après plusieurs essais je n'arrive pas à régler mon problème ...  
 
Je suis en train de créer un fichier permettant d'émettre des offres de prix. Dans ce fichier(New offer) je dois rentrer des opérations d'atelier et dès que je valide l'opération, la macro ouvre un deuxième fichier (Furnizor) afin d'aller récupérer des prix pour mes variables.  
 
j'arrive bien à ouvrir le deuxième fichier Furnizor, à récupérer toutes mes variables mais je n'arrive pas à fermer le fichier ensuite ... un message apparait pour me dire que la méthode "close" de l'objet "workbook" a échoué .. Peut être savez vous pourquoi ?  
 
En résumé :
 
-Macros affectées sur le fichier NEW OFFER, dans un Userform_initialize .  
-Cette macro ouvre le fichier FURNIZOR.  
-Ensuite, elle récupère en faisant plusieurs recherches des prix, qui sont rentrées dans des variables publiques et utilisées dans la macro du fichier NEW OFFER.  
-Au moment de fermer l'Userform, la macro demande la fermeture du fichier FURNIZOR. C'est là que le problème plante  
 
Pour essayer de fermer ce fichier j'ai utilisé les codes suivants , tous ont échoués :
 
 - Workbooks("FURNIZOR.xlsx" ).Close  
-  Workbooks("FURNIZOR.xlsx" ).Close false  
-  Workbooks("FURNIZOR.xlsx" ).Close savechanges:=false  
- Workbooks("FURNIZOR.xlsx" ).activate  
   Activeworkbook.close  
- Workbooks("FURNIZOR.xlsx" ).activate  
   Activewindows.close  
 
merci encore !! je n'arrive pas à comprendre d'où vient le problème ...

Reply

Marsh Posté le 23-06-2017 à 13:43:26   

Reply

Marsh Posté le 23-06-2017 à 14:54:23    

 
            Bonjour !
 
            Déclarer une variable objet de type Workbook.
            Affecter cette variable lors de l'instruction Open  :  Set Variable = Workbooks.Open
            Utiliser cette variable pour fermer le classeur.
            Libérer cette variable avant la fin de la procédure :  Set Variable = Nothing
 

Reply

Marsh Posté le 23-06-2017 à 15:01:22    

Bonjour Marc ! merci de ta réponse, j'ai essayé ta méthode, et la méthode close de l'objet workbook échoue encore ... je ne comprend pas pourquoi ..  
 
j'utilise excel 2011 sur mac si tu penses que ça change quelque chose ?

Reply

Marsh Posté le 23-06-2017 à 18:09:56    

 
            Cela est loin d'être impossible avec les versions MAC toujours bien truffées de bugs !
            La dernière étant pire que la 2011 d'après les retours que j'ai eu …
 
            Mais là je pense qu'il y a autre chose, peut-être si tu suivais la progression du code en mode pas à pas …
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed