Bonjour,
un pb souvent rencontré, mais je ne trouve pas la bonne référence:
lorsqu'on lance Application.Quit avec VBA, le processus Excel.exe n'est pas
tué.
Comment faire ???
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
michdenis
Bonjour Oriane,
Application.Quit
Cette ligne de code devrait tuer seulement l'instance dans lequel il est placé. Ce n'est pas directement applicable à une autre instance que tu aurais pu ouvrir. Pour fermer une instance que tu as ouvert par programmation avec la ligne de code que tu proposes, tu dois t'assurer de fermer tous les classeurs ouverts de cet instance.
Exemple de code d'ouverture et de fermeture d'une autre instance '------------------------- Sub test()
Dim Xl As Excel.Application Dim Wk As Workbook
Set Xl = CreateObject("Excel.application") Xl.Visible = True 'si tu veux voir Set Wk = Xl.Workbooks.Open("c:AtravailClasseur1.xls") 'opératation de ton choix sur le classeur ouvert Wk.Close False 'ou True selon que tu veux concerver 'les modifications Xl.Quit End Sub '-------------------------
Salutations!
"Oriane" a écrit dans le message de news: dkanp5$glg$ Bonjour, un pb souvent rencontré, mais je ne trouve pas la bonne référence: lorsqu'on lance Application.Quit avec VBA, le processus Excel.exe n'est pas tué. Comment faire ???
Merci
Bonjour Oriane,
Application.Quit
Cette ligne de code devrait tuer seulement l'instance dans lequel il est placé. Ce n'est pas directement applicable à une autre
instance que tu aurais pu ouvrir. Pour fermer une instance que tu as ouvert par programmation avec la ligne de code que tu
proposes, tu dois t'assurer de fermer tous les classeurs ouverts de cet instance.
Exemple de code d'ouverture et de fermeture d'une autre instance
'-------------------------
Sub test()
Dim Xl As Excel.Application
Dim Wk As Workbook
Set Xl = CreateObject("Excel.application")
Xl.Visible = True 'si tu veux voir
Set Wk = Xl.Workbooks.Open("c:AtravailClasseur1.xls")
'opératation de ton choix sur le classeur ouvert
Wk.Close False 'ou True selon que tu veux concerver
'les modifications
Xl.Quit
End Sub
'-------------------------
Salutations!
"Oriane" <oriane@guermantes.fr> a écrit dans le message de news: dkanp5$glg$1@yucatan.franconews.org...
Bonjour,
un pb souvent rencontré, mais je ne trouve pas la bonne référence:
lorsqu'on lance Application.Quit avec VBA, le processus Excel.exe n'est pas
tué.
Comment faire ???
Cette ligne de code devrait tuer seulement l'instance dans lequel il est placé. Ce n'est pas directement applicable à une autre instance que tu aurais pu ouvrir. Pour fermer une instance que tu as ouvert par programmation avec la ligne de code que tu proposes, tu dois t'assurer de fermer tous les classeurs ouverts de cet instance.
Exemple de code d'ouverture et de fermeture d'une autre instance '------------------------- Sub test()
Dim Xl As Excel.Application Dim Wk As Workbook
Set Xl = CreateObject("Excel.application") Xl.Visible = True 'si tu veux voir Set Wk = Xl.Workbooks.Open("c:AtravailClasseur1.xls") 'opératation de ton choix sur le classeur ouvert Wk.Close False 'ou True selon que tu veux concerver 'les modifications Xl.Quit End Sub '-------------------------
Salutations!
"Oriane" a écrit dans le message de news: dkanp5$glg$ Bonjour, un pb souvent rencontré, mais je ne trouve pas la bonne référence: lorsqu'on lance Application.Quit avec VBA, le processus Excel.exe n'est pas tué. Comment faire ???
Merci
anonymousA
Bonjour,
fais une recherche sur les jours précédents. Il y a une excellente réponse de Mich Denis sur la possibilité de tuer toutes les instances d'Excel en cours
A+
Oriane a écrit :
Bonjour, un pb souvent rencontré, mais je ne trouve pas la bonne référence: lorsqu'on lance Application.Quit avec VBA, le processus Excel.exe n'est pas tué. Comment faire ???
Merci
Bonjour,
fais une recherche sur les jours précédents. Il y a une excellente
réponse de Mich Denis sur la possibilité de tuer toutes les instances
d'Excel en cours
A+
Oriane a écrit :
Bonjour,
un pb souvent rencontré, mais je ne trouve pas la bonne référence:
lorsqu'on lance Application.Quit avec VBA, le processus Excel.exe n'est pas
tué.
Comment faire ???
fais une recherche sur les jours précédents. Il y a une excellente réponse de Mich Denis sur la possibilité de tuer toutes les instances d'Excel en cours
A+
Oriane a écrit :
Bonjour, un pb souvent rencontré, mais je ne trouve pas la bonne référence: lorsqu'on lance Application.Quit avec VBA, le processus Excel.exe n'est pas tué. Comment faire ???
Merci
Oriane
"michdenis" a écrit dans le message de news: ecPs$
Bonjour Oriane,
Application.Quit
Cette ligne de code devrait tuer seulement l'instance dans lequel il est placé. Ce n'est pas directement applicable à une autre instance que tu aurais pu ouvrir. Pour fermer une instance que tu as ouvert par programmation avec la ligne de code que tu proposes, tu dois t'assurer de fermer tous les classeurs ouverts de cet instance.
Oui, bien sûr mais ce n'est pas la le pb. Voici le lien qui va bien: http://support.microsoft.com/default.aspx?scid=kb;en-us;317109
Merci qd même
Cdt
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
ecPs$o83FHA.3876@TK2MSFTNGP09.phx.gbl...
Bonjour Oriane,
Application.Quit
Cette ligne de code devrait tuer seulement l'instance dans lequel il est
placé. Ce n'est pas directement applicable à une autre
instance que tu aurais pu ouvrir. Pour fermer une instance que tu as
ouvert par programmation avec la ligne de code que tu
proposes, tu dois t'assurer de fermer tous les classeurs ouverts de cet
instance.
Oui, bien sûr mais ce n'est pas la le pb.
Voici le lien qui va bien:
http://support.microsoft.com/default.aspx?scid=kb;en-us;317109
"michdenis" a écrit dans le message de news: ecPs$
Bonjour Oriane,
Application.Quit
Cette ligne de code devrait tuer seulement l'instance dans lequel il est placé. Ce n'est pas directement applicable à une autre instance que tu aurais pu ouvrir. Pour fermer une instance que tu as ouvert par programmation avec la ligne de code que tu proposes, tu dois t'assurer de fermer tous les classeurs ouverts de cet instance.
Oui, bien sûr mais ce n'est pas la le pb. Voici le lien qui va bien: http://support.microsoft.com/default.aspx?scid=kb;en-us;317109
Merci qd même
Cdt
michdenis
Bonjour Oriane,
| Oui, bien sûr mais ce n'est pas la le pb.
Peux-tu me dire en quoi ma réponse diffère de celle présentée par Microsoft.
Je te remercie pour l'adresse... mais je le connaissais déjà, de même que les propos qu'il contient !
Salutations!
"Oriane" a écrit dans le message de news: dkco7d$h9o$
"michdenis" a écrit dans le message de news: ecPs$
Bonjour Oriane,
Application.Quit
Cette ligne de code devrait tuer seulement l'instance dans lequel il est placé. Ce n'est pas directement applicable à une autre instance que tu aurais pu ouvrir. Pour fermer une instance que tu as ouvert par programmation avec la ligne de code que tu proposes, tu dois t'assurer de fermer tous les classeurs ouverts de cet instance.
Oui, bien sûr mais ce n'est pas la le pb. Voici le lien qui va bien: http://support.microsoft.com/default.aspx?scid=kb;en-us;317109
Merci qd même
Cdt
Bonjour Oriane,
| Oui, bien sûr mais ce n'est pas la le pb.
Peux-tu me dire en quoi ma réponse diffère de celle présentée par Microsoft.
Je te remercie pour l'adresse... mais je le connaissais déjà, de même que les propos qu'il contient !
Salutations!
"Oriane" <oriane@guermantes.fr> a écrit dans le message de news: dkco7d$h9o$1@yucatan.franconews.org...
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
ecPs$o83FHA.3876@TK2MSFTNGP09.phx.gbl...
Bonjour Oriane,
Application.Quit
Cette ligne de code devrait tuer seulement l'instance dans lequel il est
placé. Ce n'est pas directement applicable à une autre
instance que tu aurais pu ouvrir. Pour fermer une instance que tu as
ouvert par programmation avec la ligne de code que tu
proposes, tu dois t'assurer de fermer tous les classeurs ouverts de cet
instance.
Oui, bien sûr mais ce n'est pas la le pb.
Voici le lien qui va bien:
http://support.microsoft.com/default.aspx?scid=kb;en-us;317109
Peux-tu me dire en quoi ma réponse diffère de celle présentée par Microsoft.
Je te remercie pour l'adresse... mais je le connaissais déjà, de même que les propos qu'il contient !
Salutations!
"Oriane" a écrit dans le message de news: dkco7d$h9o$
"michdenis" a écrit dans le message de news: ecPs$
Bonjour Oriane,
Application.Quit
Cette ligne de code devrait tuer seulement l'instance dans lequel il est placé. Ce n'est pas directement applicable à une autre instance que tu aurais pu ouvrir. Pour fermer une instance que tu as ouvert par programmation avec la ligne de code que tu proposes, tu dois t'assurer de fermer tous les classeurs ouverts de cet instance.
Oui, bien sûr mais ce n'est pas la le pb. Voici le lien qui va bien: http://support.microsoft.com/default.aspx?scid=kb;en-us;317109
Merci qd même
Cdt
Oriane
"michdenis" a écrit dans le message de news:
Bonjour Oriane,
| Oui, bien sûr mais ce n'est pas la le pb.
Peux-tu me dire en quoi ma réponse diffère de celle présentée par Microsoft.
En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit en C#. Sinon, on n'est pas sûr que le process disparaisse. Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur les objets de l'application.
Je te remercie pour l'adresse... mais je le connaissais déjà, de même que les propos qu'il contient !
Et donc que ne me l'as-tu indiquée dans ta première réponse ?
Cdt
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
OD2siAH4FHA.3876@TK2MSFTNGP09.phx.gbl...
Bonjour Oriane,
| Oui, bien sûr mais ce n'est pas la le pb.
Peux-tu me dire en quoi ma réponse diffère de celle présentée par
Microsoft.
En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit en
C#. Sinon, on n'est pas sûr que le process disparaisse.
Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur les
objets de l'application.
Je te remercie pour l'adresse... mais je le connaissais déjà, de même que
les propos qu'il contient !
Et donc que ne me l'as-tu indiquée dans ta première réponse ?
Peux-tu me dire en quoi ma réponse diffère de celle présentée par Microsoft.
En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit en C#. Sinon, on n'est pas sûr que le process disparaisse. Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur les objets de l'application.
Je te remercie pour l'adresse... mais je le connaissais déjà, de même que les propos qu'il contient !
Et donc que ne me l'as-tu indiquée dans ta première réponse ?
Cdt
michdenis
Bonjour Oriane,
| En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit en | C#. Sinon, on n'est pas sûr que le process disparaisse. | Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur les | objets de l'application.
A ) Concernant la référence à C# ...je ne connais rien à ce language de programmation... Est-ce des plus pertinent pour ceux qui créent des applications en VBA. Ceci étant dit, tant mieux si certain y trouve un apport !
B ) Dans l'exemple et l'explication, je crois avoir mentionné qu'il fallait fermer tous les classeurs (objets) qu'on avait ouverts avec l'instance avant de quitter l'instance. Est-ce que tu as un exemple où le code fournit ne fonctionne pas ? Si oui, je serais heureux d'en prendre connaissance... et d'apporter le cas échéant, toutes les nuances à ma réponse.
Salutations!
"Oriane" a écrit dans le message de news: dkd3qf$jo6$
"michdenis" a écrit dans le message de news:
Bonjour Oriane,
| Oui, bien sûr mais ce n'est pas la le pb.
Peux-tu me dire en quoi ma réponse diffère de celle présentée par Microsoft.
En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit en C#. Sinon, on n'est pas sûr que le process disparaisse. Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur les objets de l'application.
Je te remercie pour l'adresse... mais je le connaissais déjà, de même que les propos qu'il contient !
Et donc que ne me l'as-tu indiquée dans ta première réponse ?
Cdt
Bonjour Oriane,
| En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit en
| C#. Sinon, on n'est pas sûr que le process disparaisse.
| Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur les
| objets de l'application.
A ) Concernant la référence à C# ...je ne connais rien à ce language de programmation... Est-ce des plus pertinent pour ceux qui
créent des applications en VBA. Ceci étant dit, tant mieux si certain y trouve un apport !
B ) Dans l'exemple et l'explication, je crois avoir mentionné qu'il fallait fermer tous les classeurs (objets) qu'on avait ouverts
avec l'instance avant de quitter l'instance. Est-ce que tu as un exemple où le code fournit ne fonctionne pas ? Si oui, je serais
heureux d'en prendre connaissance... et d'apporter le cas échéant, toutes les nuances à ma réponse.
Salutations!
"Oriane" <oriane@guermantes.fr> a écrit dans le message de news: dkd3qf$jo6$1@yucatan.franconews.org...
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
OD2siAH4FHA.3876@TK2MSFTNGP09.phx.gbl...
Bonjour Oriane,
| Oui, bien sûr mais ce n'est pas la le pb.
Peux-tu me dire en quoi ma réponse diffère de celle présentée par
Microsoft.
En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit en
C#. Sinon, on n'est pas sûr que le process disparaisse.
Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur les
objets de l'application.
Je te remercie pour l'adresse... mais je le connaissais déjà, de même que
les propos qu'il contient !
Et donc que ne me l'as-tu indiquée dans ta première réponse ?
| En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit en | C#. Sinon, on n'est pas sûr que le process disparaisse. | Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur les | objets de l'application.
A ) Concernant la référence à C# ...je ne connais rien à ce language de programmation... Est-ce des plus pertinent pour ceux qui créent des applications en VBA. Ceci étant dit, tant mieux si certain y trouve un apport !
B ) Dans l'exemple et l'explication, je crois avoir mentionné qu'il fallait fermer tous les classeurs (objets) qu'on avait ouverts avec l'instance avant de quitter l'instance. Est-ce que tu as un exemple où le code fournit ne fonctionne pas ? Si oui, je serais heureux d'en prendre connaissance... et d'apporter le cas échéant, toutes les nuances à ma réponse.
Salutations!
"Oriane" a écrit dans le message de news: dkd3qf$jo6$
"michdenis" a écrit dans le message de news:
Bonjour Oriane,
| Oui, bien sûr mais ce n'est pas la le pb.
Peux-tu me dire en quoi ma réponse diffère de celle présentée par Microsoft.
En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit en C#. Sinon, on n'est pas sûr que le process disparaisse. Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur les objets de l'application.
Je te remercie pour l'adresse... mais je le connaissais déjà, de même que les propos qu'il contient !
Et donc que ne me l'as-tu indiquée dans ta première réponse ?
Cdt
Oriane
"michdenis" a écrit dans le message de news:
Bonjour Oriane,
| En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit en | C#. Sinon, on n'est pas sûr que le process disparaisse. | Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur les | objets de l'application.
A ) Concernant la référence à C# ...je ne connais rien à ce language de programmation... Est-ce des plus pertinent pour ceux qui créent des applications en VBA. Ceci étant dit, tant mieux si certain y trouve un apport !
Le lien que tu dis connaitre s'appelle, explicitement: Office application does not quit after automation from Visual Studio .NET client Donc cela veut dire qu'on n'y parle pas de VBA mais de C# ou VB.NET. D'autre part, comme tu peux le voir, j'ai mis quantité de NG .NET en copie de mon message.
B ) Dans l'exemple et l'explication, je crois avoir mentionné qu'il fallait fermer tous les classeurs (objets) qu'on avait ouverts avec l'instance avant de quitter l'instance. Est-ce que tu as un exemple où le code fournit ne fonctionne pas ? Si oui, je serais heureux d'en prendre connaissance... et d'apporter le cas échéant, toutes les nuances à ma réponse.
C'est exactement le problème qui est évoqué dans le lien. La littérature et les NG parlent souvent de process Excel "fantômes" qui trainent....après un Application.Quit.
Cdt
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
erjIgWI4FHA.3000@TK2MSFTNGP12.phx.gbl...
Bonjour Oriane,
| En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit
en
| C#. Sinon, on n'est pas sûr que le process disparaisse.
| Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur
les
| objets de l'application.
A ) Concernant la référence à C# ...je ne connais rien à ce language de
programmation... Est-ce des plus pertinent pour ceux qui
créent des applications en VBA. Ceci étant dit, tant mieux si certain y
trouve un apport !
Le lien que tu dis connaitre s'appelle, explicitement:
Office application does not quit after automation from Visual Studio .NET
client
Donc cela veut dire qu'on n'y parle pas de VBA mais de C# ou VB.NET.
D'autre part, comme tu peux le voir, j'ai mis quantité de NG .NET en copie
de mon message.
B ) Dans l'exemple et l'explication, je crois avoir mentionné qu'il
fallait fermer tous les classeurs (objets) qu'on avait ouverts
avec l'instance avant de quitter l'instance. Est-ce que tu as un exemple
où le code fournit ne fonctionne pas ? Si oui, je serais
heureux d'en prendre connaissance... et d'apporter le cas échéant, toutes
les nuances à ma réponse.
C'est exactement le problème qui est évoqué dans le lien. La littérature et
les NG parlent souvent de process Excel "fantômes" qui trainent....après un
Application.Quit.
| En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit en | C#. Sinon, on n'est pas sûr que le process disparaisse. | Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur les | objets de l'application.
A ) Concernant la référence à C# ...je ne connais rien à ce language de programmation... Est-ce des plus pertinent pour ceux qui créent des applications en VBA. Ceci étant dit, tant mieux si certain y trouve un apport !
Le lien que tu dis connaitre s'appelle, explicitement: Office application does not quit after automation from Visual Studio .NET client Donc cela veut dire qu'on n'y parle pas de VBA mais de C# ou VB.NET. D'autre part, comme tu peux le voir, j'ai mis quantité de NG .NET en copie de mon message.
B ) Dans l'exemple et l'explication, je crois avoir mentionné qu'il fallait fermer tous les classeurs (objets) qu'on avait ouverts avec l'instance avant de quitter l'instance. Est-ce que tu as un exemple où le code fournit ne fonctionne pas ? Si oui, je serais heureux d'en prendre connaissance... et d'apporter le cas échéant, toutes les nuances à ma réponse.
C'est exactement le problème qui est évoqué dans le lien. La littérature et les NG parlent souvent de process Excel "fantômes" qui trainent....après un Application.Quit.
Cdt
michdenis
Bonjour Ariane,
Cet excellent article (en anglais) est écrit par Tushar-Mehta (MVP Excel) qui semble connaître le tabac... je te laisse apprécier avant que ce fil se transforme en un "Show de boucane"! ;-))
P.S. Si tu trouves un exemple qui contredit les propos tenus dans cet article, serais-tu assez gentille de le publier.
"Oriane" a écrit dans le message de news: dkdbis$lpq$
"michdenis" a écrit dans le message de news:
Bonjour Oriane,
| En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit en | C#. Sinon, on n'est pas sûr que le process disparaisse. | Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur les | objets de l'application.
A ) Concernant la référence à C# ...je ne connais rien à ce language de programmation... Est-ce des plus pertinent pour ceux qui créent des applications en VBA. Ceci étant dit, tant mieux si certain y trouve un apport !
Le lien que tu dis connaitre s'appelle, explicitement: Office application does not quit after automation from Visual Studio .NET client Donc cela veut dire qu'on n'y parle pas de VBA mais de C# ou VB.NET. D'autre part, comme tu peux le voir, j'ai mis quantité de NG .NET en copie de mon message.
B ) Dans l'exemple et l'explication, je crois avoir mentionné qu'il fallait fermer tous les classeurs (objets) qu'on avait ouverts avec l'instance avant de quitter l'instance. Est-ce que tu as un exemple où le code fournit ne fonctionne pas ? Si oui, je serais heureux d'en prendre connaissance... et d'apporter le cas échéant, toutes les nuances à ma réponse.
C'est exactement le problème qui est évoqué dans le lien. La littérature et les NG parlent souvent de process Excel "fantômes" qui trainent....après un Application.Quit.
Cdt
Bonjour Ariane,
Cet excellent article (en anglais) est écrit par Tushar-Mehta (MVP Excel) qui semble connaître le tabac...
je te laisse apprécier avant que ce fil se transforme en un "Show de boucane"! ;-))
P.S. Si tu trouves un exemple qui contredit les propos tenus dans cet article, serais-tu assez gentille de le publier.
"Oriane" <oriane@guermantes.fr> a écrit dans le message de news: dkdbis$lpq$1@yucatan.franconews.org...
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
erjIgWI4FHA.3000@TK2MSFTNGP12.phx.gbl...
Bonjour Oriane,
| En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit
en
| C#. Sinon, on n'est pas sûr que le process disparaisse.
| Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur
les
| objets de l'application.
A ) Concernant la référence à C# ...je ne connais rien à ce language de
programmation... Est-ce des plus pertinent pour ceux qui
créent des applications en VBA. Ceci étant dit, tant mieux si certain y
trouve un apport !
Le lien que tu dis connaitre s'appelle, explicitement:
Office application does not quit after automation from Visual Studio .NET
client
Donc cela veut dire qu'on n'y parle pas de VBA mais de C# ou VB.NET.
D'autre part, comme tu peux le voir, j'ai mis quantité de NG .NET en copie
de mon message.
B ) Dans l'exemple et l'explication, je crois avoir mentionné qu'il
fallait fermer tous les classeurs (objets) qu'on avait ouverts
avec l'instance avant de quitter l'instance. Est-ce que tu as un exemple
où le code fournit ne fonctionne pas ? Si oui, je serais
heureux d'en prendre connaissance... et d'apporter le cas échéant, toutes
les nuances à ma réponse.
C'est exactement le problème qui est évoqué dans le lien. La littérature et
les NG parlent souvent de process Excel "fantômes" qui trainent....après un
Application.Quit.
Cet excellent article (en anglais) est écrit par Tushar-Mehta (MVP Excel) qui semble connaître le tabac... je te laisse apprécier avant que ce fil se transforme en un "Show de boucane"! ;-))
P.S. Si tu trouves un exemple qui contredit les propos tenus dans cet article, serais-tu assez gentille de le publier.
"Oriane" a écrit dans le message de news: dkdbis$lpq$
"michdenis" a écrit dans le message de news:
Bonjour Oriane,
| En ce qu'elle précise qu'il ne suffit pas de faire un Application.Quit en | C#. Sinon, on n'est pas sûr que le process disparaisse. | Il faut aussi relâcher l'objet COM, et ne pas garder de référence sur les | objets de l'application.
A ) Concernant la référence à C# ...je ne connais rien à ce language de programmation... Est-ce des plus pertinent pour ceux qui créent des applications en VBA. Ceci étant dit, tant mieux si certain y trouve un apport !
Le lien que tu dis connaitre s'appelle, explicitement: Office application does not quit after automation from Visual Studio .NET client Donc cela veut dire qu'on n'y parle pas de VBA mais de C# ou VB.NET. D'autre part, comme tu peux le voir, j'ai mis quantité de NG .NET en copie de mon message.
B ) Dans l'exemple et l'explication, je crois avoir mentionné qu'il fallait fermer tous les classeurs (objets) qu'on avait ouverts avec l'instance avant de quitter l'instance. Est-ce que tu as un exemple où le code fournit ne fonctionne pas ? Si oui, je serais heureux d'en prendre connaissance... et d'apporter le cas échéant, toutes les nuances à ma réponse.
C'est exactement le problème qui est évoqué dans le lien. La littérature et les NG parlent souvent de process Excel "fantômes" qui trainent....après un Application.Quit.