Création d'un workbook en trop - VB/VBA/VBS - Programmation
Marsh Posté le 16-08-2006 à 16:40:55
zephyron1 a écrit : J'aimerai pouvoir crée qu'un seul classeur ou fermer que celui qui s'ouvre (sans savoir comment il s'appelle), comment puis-je faire? |
activeworkbook.close pour celui qui s'ouvre ?
Marsh Posté le 16-08-2006 à 17:02:38
hum pas bète j'y ai pas pensé. Par-contre je pense que mon activeworkbook sera mon fichier B... Je vais tester.
EDIT :
non je viens de tester et je me dois de donner plus de détail sur mon problème.
Quand j'execute mon code une fois, il n'y a pas de problème et j'ai aucun Book2 qui sort. Par-contre si je le réexecute sur les même fichiers (il va donc me redemander si je veux écraser mon fichier B) là j'ai un book2 qui vient. Et ainsi de suite même si je ferme le book2, j'obtiens un book3...
voici mon code :
Workbooks.Add
Sheets(1).name = "Accepted"
Sheets(2).name = "Rejected"
Sheets(3).name = sheetName
Sheets.Add
Sheets(1).name = "Error"
Sheets("Error" ).Move After:=Sheets(3)
fileName2 = sheetName + "-Answer.xls"
ActiveWorkbook.SaveAs fileName:=filePath + "\" + fileName2, FileFormat:=xlNormal
Sheets(sheetName).Activate
Marsh Posté le 17-08-2006 à 15:39:49
ptit up car j'ai pas trouvé comment fermer ce book 2 sans connaître son nom (ou ne pas l'ouvrir...).
Marsh Posté le 17-08-2006 à 18:36:05
en résonnant dans l'autre sens, tu peux faire
si feuilleName <> ou feuilleName <>
alors supprimer
Marsh Posté le 18-08-2006 à 11:09:17
C'est bon ça marche :
If ((Workbooks(Workbooks.Count).name <> fileName) And (Workbooks(Workbooks.Count).name <> fileName2)) Then
Workbooks(Workbooks.Count).Close
End If
Ca marche niquel sauf que ça me demande si je veux sauvegarder le fichier. Est-il possible de forcer la fermeture sans sauvegarde?
Marsh Posté le 18-08-2006 à 14:45:03
Voilà c'est fait, j'ai pas trouvé plus con :
Workbooks(Workbooks.Count).Close (False)
C'est exactement ce que je voulais, merci beaucoup Jean-Philippe!
Au plaisir.
Marsh Posté le 18-08-2006 à 18:14:48
de nada, pense à mettre le chti [résolu] pour ton topic ^^
Marsh Posté le 16-08-2006 à 16:30:03
Bonjour à tous, nouveau problème :
Dans mon programme je copie une feuille d'un fichier A dans une feuille d'un fichier B que j'ai précedemment créé, renommé et sauvegardé sur le DD. Mais le problème est que quand je crée un nouveau classeur que je renomme et que je sauvegarde j'ai un deuxième classeur qui se crée également (du style "Book2", "Book3", etc...). J'aimerai pouvoir crée qu'un seul classeur ou fermer que celui qui s'ouvre (sans savoir comment il s'appelle), comment puis-je faire?
Merci.