j'utilisele code suivant pour ouvrir un classeur appliquer une macro
mais je n'arrive pas à enregistrer sans message d'erreurs (table est en
cours d'utilisation)
et je n'arrive pas à m'en sortir
merci par avance
Sub Main()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Open("c:\classeur1.xls")
xlApp.Run xlBook.Name & "!module1.macro1"
xlBook.Close True, "c:\sav\classeur1.xls"
Set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Frédéric Sigonneau
Bonjour,
Chez moi (Excel 2002) ton code s'exécute sans erreur. Mais, en effet, l'enregistrement ne se fait pas. Je pense que cela vient du fait qu'aucune modification n'étant effectuée dans 'classeur1.xls' (exécuter une macro ne change rien dans le classeur et la macro exécutée ne modifie sans doute rien non plus dans 'classeur1.xls'), demander de fermer en sauvegardant les changements reste simplement sans effet. Faute de mieux, provoquer un changement bidon permet de forcer l'enregistrement. Ceci fonctionne chez moi :
Sub Main() Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook
Set xlApp = New Excel.Application Set xlBook = xlApp.Workbooks.Open("c:classeur1.xls") xlApp.Run xlBook.Name & "!module1.macro1"
xlBook.Sheets(1).Range("IV65536").Clear 'par exemple xlBook.Close True, "c:savclasseur1.xls" Set xlBook = Nothing xlApp.Quit Set xlApp = Nothing End Sub
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
bonjour,
j'utilisele code suivant pour ouvrir un classeur appliquer une macro mais je n'arrive pas à enregistrer sans message d'erreurs (table est en cours d'utilisation) et je n'arrive pas à m'en sortir
merci par avance
Sub Main()
Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook
Set xlApp = New Excel.Application Set xlBook = xlApp.Workbooks.Open("c:classeur1.xls") xlApp.Run xlBook.Name & "!module1.macro1"
xlBook.Close True, "c:savclasseur1.xls" Set xlBook = Nothing xlApp.Quit Set xlApp = Nothing
End Sub
Bonjour,
Chez moi (Excel 2002) ton code s'exécute sans erreur. Mais, en effet,
l'enregistrement ne se fait pas. Je pense que cela vient du fait qu'aucune
modification n'étant effectuée dans 'classeur1.xls' (exécuter une macro ne
change rien dans le classeur et la macro exécutée ne modifie sans doute rien non
plus dans 'classeur1.xls'), demander de fermer en sauvegardant les changements
reste simplement sans effet.
Faute de mieux, provoquer un changement bidon permet de forcer l'enregistrement.
Ceci fonctionne chez moi :
Sub Main()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Open("c:classeur1.xls")
xlApp.Run xlBook.Name & "!module1.macro1"
xlBook.Sheets(1).Range("IV65536").Clear 'par exemple
xlBook.Close True, "c:savclasseur1.xls"
Set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing
End Sub
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
bonjour,
j'utilisele code suivant pour ouvrir un classeur appliquer une macro
mais je n'arrive pas à enregistrer sans message d'erreurs (table est en
cours d'utilisation)
et je n'arrive pas à m'en sortir
merci par avance
Sub Main()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Open("c:classeur1.xls")
xlApp.Run xlBook.Name & "!module1.macro1"
xlBook.Close True, "c:savclasseur1.xls"
Set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing
Chez moi (Excel 2002) ton code s'exécute sans erreur. Mais, en effet, l'enregistrement ne se fait pas. Je pense que cela vient du fait qu'aucune modification n'étant effectuée dans 'classeur1.xls' (exécuter une macro ne change rien dans le classeur et la macro exécutée ne modifie sans doute rien non plus dans 'classeur1.xls'), demander de fermer en sauvegardant les changements reste simplement sans effet. Faute de mieux, provoquer un changement bidon permet de forcer l'enregistrement. Ceci fonctionne chez moi :
Sub Main() Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook
Set xlApp = New Excel.Application Set xlBook = xlApp.Workbooks.Open("c:classeur1.xls") xlApp.Run xlBook.Name & "!module1.macro1"
xlBook.Sheets(1).Range("IV65536").Clear 'par exemple xlBook.Close True, "c:savclasseur1.xls" Set xlBook = Nothing xlApp.Quit Set xlApp = Nothing End Sub
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
bonjour,
j'utilisele code suivant pour ouvrir un classeur appliquer une macro mais je n'arrive pas à enregistrer sans message d'erreurs (table est en cours d'utilisation) et je n'arrive pas à m'en sortir
merci par avance
Sub Main()
Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook
Set xlApp = New Excel.Application Set xlBook = xlApp.Workbooks.Open("c:classeur1.xls") xlApp.Run xlBook.Name & "!module1.macro1"
xlBook.Close True, "c:savclasseur1.xls" Set xlBook = Nothing xlApp.Quit Set xlApp = Nothing