OVH Cloud OVH Cloud

fermeture liaison excel

11 réponses
Avatar
Yann
Bonjour,

Je d=E9veloppe un programme en VB qui, pour effectuer des=20
calculs, utilise r=E9guli=E8rement un fichier Excel (dans=20
lequel j'entre des valeurs et dans lequel je r=E9cup=E8re mes=20
r=E9sultats).

J'utilise pour ouvrir et fermer Excel 2 fonctions (cf ci=20
apr=E8s), mais j'ai un probl=E8me de fermeture d'Excel qui ne=20
se ferme pas toujours (le processus reste dans le=20
gestionnaire des t=E2ches).
Je ne comprends vraiment pas pourquoi Excel se ferme mal,=20
si c'est parce que je l'ouvre et le ferme plusieurs fois=20
de suite, si c'est =E0 cause d'une liaison dans ce classeur,=20
si c'est mon code qui est faux (faut-il faire =E0 chaque=20
fois =AB exl2.Close SaveChanges:=3DFalse =BB , =AB=20
appex2.Quit" , =AB Set exl2 =3D Nothing =BB et =AB Set appex2 =3D=20
Nothing =BB ? )

Sub ouvreexcel2()

fermeexcel2 'ferme excel
Set appex2 =3D CreateObject("excel.Application")
nomfich2 =3D App.Path & "\Excelfiles\ParamCF.xls"
Set exl2 =3D appex2.Workbooks.Open(nomfich2, 0,=20
True, , , , , , , , False)

End Sub

Sub fermeexcel2()

On Error GoTo ges1

exl2.Close SaveChanges:=3DFalse
appex2.Quit
Set exl2 =3D Nothing
Set appex2 =3D Nothing
ges1:
Err.Clear
Resume Next

End Sub


Je me suis =E9galement dit qu'il pouvait y avoir plusieurs=20
instances de mon fichier Excel ouvertes, alors j'ai essay=E9=20
ceci mais =E7a ne marche pas non plus.

For Each w In appex2.Workbooks
Debug.Print w.Name
appex2.Workbooks(w.Name).Close SaveChanges:=3DFalse
Next w

Merci d'avance pour votre aide.
Yann

1 réponse

1 2
Avatar
Yann
Bonjour,

Merci pour votre aide. Suite à une suggestion j'ai utilisé une fonction qui
"tue" l'application Excel pour résoudre mon problème.

Encore merci.
Yann

"Yann" a écrit :

Bonjour,

Je développe un programme en VB qui, pour effectuer des
calculs, utilise régulièrement un fichier Excel (dans
lequel j'entre des valeurs et dans lequel je récupère mes
résultats).

J'utilise pour ouvrir et fermer Excel 2 fonctions (cf ci
après), mais j'ai un problème de fermeture d'Excel qui ne
se ferme pas toujours (le processus reste dans le
gestionnaire des tâches).
Je ne comprends vraiment pas pourquoi Excel se ferme mal,
si c'est parce que je l'ouvre et le ferme plusieurs fois
de suite, si c'est à cause d'une liaison dans ce classeur,
si c'est mon code qui est faux (faut-il faire à chaque
fois « exl2.Close SaveChanges:úlse » , «
appex2.Quit" , « Set exl2 = Nothing » et « Set appex2 =
Nothing » ? )

Sub ouvreexcel2()

fermeexcel2 'ferme excel
Set appex2 = CreateObject("excel.Application")
nomfich2 = App.Path & "ExcelfilesParamCF.xls"
Set exl2 = appex2.Workbooks.Open(nomfich2, 0,
True, , , , , , , , False)

End Sub

Sub fermeexcel2()

On Error GoTo ges1

exl2.Close SaveChanges:úlse
appex2.Quit
Set exl2 = Nothing
Set appex2 = Nothing
ges1:
Err.Clear
Resume Next

End Sub


Je me suis également dit qu'il pouvait y avoir plusieurs
instances de mon fichier Excel ouvertes, alors j'ai essayé
ceci mais ça ne marche pas non plus.

For Each w In appex2.Workbooks
Debug.Print w.Name
appex2.Workbooks(w.Name).Close SaveChanges:úlse
Next w

Merci d'avance pour votre aide.
Yann




1 2