Un module access ouvre un classeur excel et le traitement se déroule
sans problème jusqu'à la fin.
Le problème est que le processus excel lui continue malgré un "
xlApp.Quit". Si je relance le module il plante tant que je n'ai pas
killé excel sous le gestionnaire de tâche ...
Comment faire pour que le module arrête bien la session excel qu'il a
lancé ?
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
Michel_D
Bonjour,
Bonjour,
Un module access ouvre un classeur excel et le traitement se déroule sans problème jusqu'à la fin.
Le problème est que le processus excel lui continue malgré un " xlApp.Quit". Si je relance le module il plante tant que je n'ai pas killé excel sous le gestionnaire de tâche ...
Comment faire pour que le module arrête bien la session excel qu'il a lancé ?
Montre le code que tu as utilisé.
Normalement il faut utiliser GetObject(,"Excel.Application") si une instance d'Excel existe sinon on utilise CreateObject("Excel.Application") et ensuite tu ouvre ton Workbook Workbooks.Open(...) quand tu as fini tu ferme ton Workbook (Close) et tu quitte l'appli Excel (Quit), je l'utilise de cette manière dans un script VBS sans aucun problème.
Bonjour,
Bonjour,
Un module access ouvre un classeur excel et le traitement se déroule
sans problème jusqu'à la fin.
Le problème est que le processus excel lui continue malgré un "
xlApp.Quit". Si je relance le module il plante tant que je n'ai pas
killé excel sous le gestionnaire de tâche ...
Comment faire pour que le module arrête bien la session excel qu'il a
lancé ?
Montre le code que tu as utilisé.
Normalement il faut utiliser GetObject(,"Excel.Application") si une
instance d'Excel existe sinon on utilise
CreateObject("Excel.Application") et ensuite tu ouvre ton Workbook
Workbooks.Open(...) quand tu as fini tu ferme ton Workbook (Close)
et tu quitte l'appli Excel (Quit), je l'utilise de cette manière
dans un script VBS sans aucun problème.
Un module access ouvre un classeur excel et le traitement se déroule sans problème jusqu'à la fin.
Le problème est que le processus excel lui continue malgré un " xlApp.Quit". Si je relance le module il plante tant que je n'ai pas killé excel sous le gestionnaire de tâche ...
Comment faire pour que le module arrête bien la session excel qu'il a lancé ?
Montre le code que tu as utilisé.
Normalement il faut utiliser GetObject(,"Excel.Application") si une instance d'Excel existe sinon on utilise CreateObject("Excel.Application") et ensuite tu ouvre ton Workbook Workbooks.Open(...) quand tu as fini tu ferme ton Workbook (Close) et tu quitte l'appli Excel (Quit), je l'utilise de cette manière dans un script VBS sans aucun problème.
bruno.lindis
Bonjour,
Bonjour,
Un module access ouvre un classeur excel et le traitement se déroule sans problème jusqu'à la fin.
Le problème est que le processus excel lui continue malgré un " xlApp.Quit". Si je relance le module il plante tant que je n'ai pas killé excel sous le gestionnaire de tâche ...
Comment faire pour que le module arrête bien la session excel qu'il a lancé ?
Montre le code que tu as utilisé.
Normalement il faut utiliser GetObject(,"Excel.Application") si une instance d'Excel existe sinon on utilise CreateObject("Excel.Application") et ensuite tu ouvre ton Workbook Workbooks.Open(...) quand tu as fini tu ferme ton Workbook (Close) et tu quitte l'appli Excel (Quit), je l'utilise de cette manière dans un script VBS sans aucun problème.
Le source allégé de quelques ligne mais la structure est là :
Set rec = CurrentDb.OpenRecordset("R_PRU_test", dbOpenSnapshot) Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Add
nomFichierExcel = "..." Set xlSheet = xlBook.Worksheets.Add(, xlBook.Worksheets(xlBook.Worksheets.Count)) xlSheet.Name = entiteCourant & processusCourant [remplissage titre feuille] Do While Not rec.EOF xlBook.SaveAs nomFichierExcel xlBook.Close nomFichierExcel = "..." Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets.Add(, xlBook.Worksheets(xlBook.Worksheets.Count)) xlSheet.Name = entiteCourant & processusCourant [remplissage titre feuille] If [nouvelle feuille] Then Set xlSheet = xlBook.Worksheets.Add(, xlBook.Worksheets(xlBook.Worksheets.Count)) xlSheet.Name = entiteCourant & processusCourant [remplissage titre feuille] End If
For J = 1 To 6 [Ecriture des champs de la requête] Next J rec.MoveNext Loop xlBook.SaveAs nomFichierExcel xlBook.Close xlApp.Quit rec.Close Set rec = Nothing Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing
End Function ___________________________________
Je me demande si je ne crée pas 2 occurences de excel (par moment il y en a 2 en cours) c'est pas sur.
-- -- Otez le second point pour me contacter
Bonjour,
Bonjour,
Un module access ouvre un classeur excel et le traitement se déroule
sans problème jusqu'à la fin.
Le problème est que le processus excel lui continue malgré un "
xlApp.Quit". Si je relance le module il plante tant que je n'ai pas
killé excel sous le gestionnaire de tâche ...
Comment faire pour que le module arrête bien la session excel qu'il a
lancé ?
Montre le code que tu as utilisé.
Normalement il faut utiliser GetObject(,"Excel.Application") si une
instance d'Excel existe sinon on utilise
CreateObject("Excel.Application") et ensuite tu ouvre ton Workbook
Workbooks.Open(...) quand tu as fini tu ferme ton Workbook (Close)
et tu quitte l'appli Excel (Quit), je l'utilise de cette manière
dans un script VBS sans aucun problème.
Le source allégé de quelques ligne mais la structure est là :
Set rec = CurrentDb.OpenRecordset("R_PRU_test", dbOpenSnapshot)
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
nomFichierExcel = "..."
Set xlSheet = xlBook.Worksheets.Add(,
xlBook.Worksheets(xlBook.Worksheets.Count))
xlSheet.Name = entiteCourant & processusCourant
[remplissage titre feuille]
Do While Not rec.EOF
xlBook.SaveAs nomFichierExcel
xlBook.Close
nomFichierExcel = "..."
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets.Add(,
xlBook.Worksheets(xlBook.Worksheets.Count))
xlSheet.Name = entiteCourant & processusCourant
[remplissage titre feuille]
If [nouvelle feuille] Then
Set xlSheet = xlBook.Worksheets.Add(,
xlBook.Worksheets(xlBook.Worksheets.Count))
xlSheet.Name = entiteCourant & processusCourant
[remplissage titre feuille]
End If
For J = 1 To 6
[Ecriture des champs de la requête]
Next J
rec.MoveNext
Loop
xlBook.SaveAs nomFichierExcel
xlBook.Close
xlApp.Quit
rec.Close
Set rec = Nothing
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Function
___________________________________
Je me demande si je ne crée pas 2 occurences de excel (par moment il y
en a 2 en cours) c'est pas sur.
Un module access ouvre un classeur excel et le traitement se déroule sans problème jusqu'à la fin.
Le problème est que le processus excel lui continue malgré un " xlApp.Quit". Si je relance le module il plante tant que je n'ai pas killé excel sous le gestionnaire de tâche ...
Comment faire pour que le module arrête bien la session excel qu'il a lancé ?
Montre le code que tu as utilisé.
Normalement il faut utiliser GetObject(,"Excel.Application") si une instance d'Excel existe sinon on utilise CreateObject("Excel.Application") et ensuite tu ouvre ton Workbook Workbooks.Open(...) quand tu as fini tu ferme ton Workbook (Close) et tu quitte l'appli Excel (Quit), je l'utilise de cette manière dans un script VBS sans aucun problème.
Le source allégé de quelques ligne mais la structure est là :
Set rec = CurrentDb.OpenRecordset("R_PRU_test", dbOpenSnapshot) Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Add
nomFichierExcel = "..." Set xlSheet = xlBook.Worksheets.Add(, xlBook.Worksheets(xlBook.Worksheets.Count)) xlSheet.Name = entiteCourant & processusCourant [remplissage titre feuille] Do While Not rec.EOF xlBook.SaveAs nomFichierExcel xlBook.Close nomFichierExcel = "..." Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets.Add(, xlBook.Worksheets(xlBook.Worksheets.Count)) xlSheet.Name = entiteCourant & processusCourant [remplissage titre feuille] If [nouvelle feuille] Then Set xlSheet = xlBook.Worksheets.Add(, xlBook.Worksheets(xlBook.Worksheets.Count)) xlSheet.Name = entiteCourant & processusCourant [remplissage titre feuille] End If
For J = 1 To 6 [Ecriture des champs de la requête] Next J rec.MoveNext Loop xlBook.SaveAs nomFichierExcel xlBook.Close xlApp.Quit rec.Close Set rec = Nothing Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing
End Function ___________________________________
Je me demande si je ne crée pas 2 occurences de excel (par moment il y en a 2 en cours) c'est pas sur.
-- -- Otez le second point pour me contacter
bruno.lindis
Bonjour,
Bonjour,
Un module access ouvre un classeur excel et le traitement se déroule sans problème jusqu'à la fin.
Le problème est que le processus excel lui continue malgré un " xlApp.Quit". Si je relance le module il plante tant que je n'ai pas killé excel sous le gestionnaire de tâche ...
Comment faire pour que le module arrête bien la session excel qu'il a lancé ?
Montre le code que tu as utilisé.
Normalement il faut utiliser GetObject(,"Excel.Application") si une instance d'Excel existe sinon on utilise CreateObject("Excel.Application") et ensuite tu ouvre ton Workbook Workbooks.Open(...) quand tu as fini tu ferme ton Workbook (Close) et tu quitte l'appli Excel (Quit), je l'utilise de cette manière dans un script VBS sans aucun problème.
Bizarre j'ai fermé access puis relancé et maintenant c'est OK ??? J'espère que cela ne reviendra pas ;-)
-- -- Otez le second point pour me contacter
Bonjour,
Bonjour,
Un module access ouvre un classeur excel et le traitement se déroule
sans problème jusqu'à la fin.
Le problème est que le processus excel lui continue malgré un "
xlApp.Quit". Si je relance le module il plante tant que je n'ai pas
killé excel sous le gestionnaire de tâche ...
Comment faire pour que le module arrête bien la session excel qu'il a
lancé ?
Montre le code que tu as utilisé.
Normalement il faut utiliser GetObject(,"Excel.Application") si une
instance d'Excel existe sinon on utilise
CreateObject("Excel.Application") et ensuite tu ouvre ton Workbook
Workbooks.Open(...) quand tu as fini tu ferme ton Workbook (Close)
et tu quitte l'appli Excel (Quit), je l'utilise de cette manière
dans un script VBS sans aucun problème.
Bizarre j'ai fermé access puis relancé et maintenant c'est OK ???
J'espère que cela ne reviendra pas ;-)
Un module access ouvre un classeur excel et le traitement se déroule sans problème jusqu'à la fin.
Le problème est que le processus excel lui continue malgré un " xlApp.Quit". Si je relance le module il plante tant que je n'ai pas killé excel sous le gestionnaire de tâche ...
Comment faire pour que le module arrête bien la session excel qu'il a lancé ?
Montre le code que tu as utilisé.
Normalement il faut utiliser GetObject(,"Excel.Application") si une instance d'Excel existe sinon on utilise CreateObject("Excel.Application") et ensuite tu ouvre ton Workbook Workbooks.Open(...) quand tu as fini tu ferme ton Workbook (Close) et tu quitte l'appli Excel (Quit), je l'utilise de cette manière dans un script VBS sans aucun problème.
Bizarre j'ai fermé access puis relancé et maintenant c'est OK ??? J'espère que cela ne reviendra pas ;-)