Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Fermer Excel ou comment devenir chèvre !!! [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (mayvin33)

jeudi 17 juillet 2003 à 18:29:08 | Fermer Excel ou comment devenir chèvre !!!

mayvin33

Bonjour tout le monde,
J'ai bien décortiqué toutes les discussions sur le sujet mais rien qui ne fonctionne. Voici mon code :

Set MyAppli = New Excel.Application
MyAppli.Workbooks.Open filename:=CommonDialog1.filename
MyAppli.activeworkbook.activesheet.Columns(1).Sort key1:=Columns(1), order1:=xlDescending
...
MyAppli.activeworkbook.close
set MyAppli.activeworkbbok=nothing
MyAppli.close
set MyAppli = nothing

J'ai bien tout qui se décharge, plus rien à l'écran mais dans les processus, j'ai toujours un Excel.exe qui tourne ! Seul solution, terminer mon appli ou le killer. Je suppose donc qu'une référence n'est pas déchargée mais alors laquelle ???

jeudi 17 juillet 2003 à 20:12:08 | Re : Fermer Excel ou comment devenir chèvre !!!

janctil

Salut,
Pour avoir déjà monté une appli vb utilisant excel, la commande avant de mettre mon object excel à nothing était: MyAppli.quit
après...
Set MyAppli = Nothing

Si je me souviens, la commande "close" sert à fermé un classeur et non Excel.



-------------------------------
Réponse au message :
-------------------------------

> Bonjour tout le monde,
> J'ai bien décortiqué toutes les discussions sur le sujet mais rien qui ne fonctionne. Voici mon code :
>
> Set MyAppli = New Excel.Application
> MyAppli.Workbooks.Open filename:=CommonDialog1.filename
> MyAppli.activeworkbook.activesheet.Columns(1).Sort key1:=Columns(1), order1:=xlDescending
> ...
> MyAppli.activeworkbook.close
> set MyAppli.activeworkbbok=nothing
> MyAppli.close
> set MyAppli = nothing
>
> J'ai bien tout qui se décharge, plus rien à l'écran mais dans les processus, j'ai toujours un Excel.exe qui tourne ! Seul solution, terminer mon appli ou le killer. Je suppose donc qu'une référence n'est pas déchargée mais alors laquelle ???

vendredi 18 juillet 2003 à 09:15:52 | Re : Fermer Excel ou comment devenir chèvre !!!

mayvin33

Autant pour moi, j'avais bien mis :
MyAppli.quit (erreur de frappe)
et donc ça ne marche pas.
Si je n'effectue pas le tri sur ma feuille, que je ferme simplement après avoir chargé mon fichier Excel, pas de problème, tout se ferme. En revanche, à partir du moment où j'effectue un tri sur la feuille, alors quand je ferme il me reste ce composant out-of-process (Excel.exe).

-------------------------------
Réponse au message :
-------------------------------

> Salut,
> Pour avoir déjà monté une appli vb utilisant excel, la commande avant de mettre mon object excel à nothing était: MyAppli.quit
> après...
> Set MyAppli = Nothing
>
> Si je me souviens, la commande "close" sert à fermé un classeur et non Excel.
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour tout le monde,
> > J'ai bien décortiqué toutes les discussions sur le sujet mais rien qui ne fonctionne. Voici mon code :
> >
> > Set MyAppli = New Excel.Application
> > MyAppli.Workbooks.Open filename:=CommonDialog1.filename
> > MyAppli.activeworkbook.activesheet.Columns(1).Sort key1:=Columns(1), order1:=xlDescending
> > ...
> > MyAppli.activeworkbook.close
> > set MyAppli.activeworkbbok=nothing
> > MyAppli.close
> > set MyAppli = nothing
> >
> > J'ai bien tout qui se décharge, plus rien à l'écran mais dans les processus, j'ai toujours un Excel.exe qui tourne ! Seul solution, terminer mon appli ou le killer. Je suppose donc qu'une référence n'est pas déchargée mais alors laquelle ???
>

vendredi 18 juillet 2003 à 14:48:43 | Re : Fermer Excel ou comment devenir chèvre !!!

ppe52

Bonjour,
Je suis dans le même cas. En exécution au pas à pas, celà fonctionne bien, mais avec le ".exe", EXCEL reste actif.
Je suis preneur d'une solution, et si j'en trouve une je vous l'envoie.





-------------------------------
Réponse au message :
-------------------------------

> Bonjour tout le monde,
> J'ai bien décortiqué toutes les discussions sur le sujet mais rien qui ne fonctionne. Voici mon code :
>
> Set MyAppli = New Excel.Application
> MyAppli.Workbooks.Open filename:=CommonDialog1.filename
> MyAppli.activeworkbook.activesheet.Columns(1).Sort key1:=Columns(1), order1:=xlDescending
> ...
> MyAppli.activeworkbook.close
> set MyAppli.activeworkbbok=nothing
> MyAppli.close
> set MyAppli = nothing
>
> J'ai bien tout qui se décharge, plus rien à l'écran mais dans les processus, j'ai toujours un Excel.exe qui tourne ! Seul solution, terminer mon appli ou le killer. Je suppose donc qu'une référence n'est pas déchargée mais alors laquelle ???

vendredi 18 juillet 2003 à 14:48:46 | Re : Fermer Excel ou comment devenir chèvre !!!

ppe52

Bonjour,
Je suis dans le même cas. En exécution au pas à pas, celà fonctionne bien, mais avec le ".exe", EXCEL reste actif.
Je suis preneur d'une solution, et si j'en trouve une je vous l'envoie.





-------------------------------
Réponse au message :
-------------------------------

> Bonjour tout le monde,
> J'ai bien décortiqué toutes les discussions sur le sujet mais rien qui ne fonctionne. Voici mon code :
>
> Set MyAppli = New Excel.Application
> MyAppli.Workbooks.Open filename:=CommonDialog1.filename
> MyAppli.activeworkbook.activesheet.Columns(1).Sort key1:=Columns(1), order1:=xlDescending
> ...
> MyAppli.activeworkbook.close
> set MyAppli.activeworkbbok=nothing
> MyAppli.close
> set MyAppli = nothing
>
> J'ai bien tout qui se décharge, plus rien à l'écran mais dans les processus, j'ai toujours un Excel.exe qui tourne ! Seul solution, terminer mon appli ou le killer. Je suppose donc qu'une référence n'est pas déchargée mais alors laquelle ???

mercredi 23 juillet 2003 à 10:52:24 | Re : Fermer Excel ou comment devenir chèvre !!!

ppe52

Bonjour,

Je ne sais si le problème est résolu, mais voici un exemple de code qui m'a permis de le solutionner.

Private Sub cmd_envoiexcel_Click()

Dim objWkb As Excel.Workbook
Dim objFont As Excel.Font
Dim objPageSetup, objPageSetup2 As Excel.PageSetup
Dim objApp As Application

' procédure permettant l'export de la matrice sous EXCEL
' ouverture d'EXCEL
' le traitement effectué sous EXCEL ne pas visible
' le classeur EXCEL ne comporte q'une feuille dont l'index contiend le code fournisseur
Set DocExcel = New Excel.Application
DocExcel.Visible = False
DocExcel.DisplayAlerts = False
Set objWkb = DocExcel.Workbooks.Add

DocExcel.Sheets("Feuil2").Select
DocExcel.ActiveWindow.SelectedSheets.Delete
DocExcel.Sheets("Feuil3").Select
DocExcel.ActiveWindow.SelectedSheets.Delete
DocExcel.Sheets("Feuil1").Select
DocExcel.ActiveWindow.DisplayGridlines = False
DocExcel.Sheets("Feuil1").Name = gscdfour

'select de la page pour attribution des caractéristques par défaut
' récupération de la hauteur standard d'une ligne
' pour le calcull de la hauteur du corps du bon de commande
pdhautligne = DocExcel.Rows("1:1").RowHeight
pd2hauteur = pdhautligne * 2
pdhauteurtotal = pdhautligne * 20
DocExcel.Cells.Select

Set objFont = DocExcel.Selection.Font
With objFont
.Name = "Arial"
.Size = 8
End With
With DocExcel.Selection
.Locked = True
End With
DocExcel.Range("z100:aa150").Select
With DocExcel.Selection
.HorizontalAlignment = xlCenter
.WrapText = True
End With
DocExcel.Columns("a:x").ColumnWidth = 3
DocExcel.Columns("z:z").ColumnWidth = 39
DocExcel.Columns("aa:aa").ColumnWidth = 9
' la hauteur des lignes 17 à 40 est calculée dynamiquement
DocExcel.Rows("17:39").RowHeight = 0
DocExcel.Rows("40:40").RowHeight = 1
DocExcel.Rows("16:16").RowHeight = 26.25


' définition de la zone d'impression et demande d'impression sur 1 page
DocExcel.Range(DocExcel.Cells(1, 1), DocExcel.Cells(piligne + 1, 24)).Select
Set objPageSetup = DocExcel.ActiveSheet.PageSetup
With objPageSetup
.PrintArea = "A1:X55"
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With

Set objPageSetup2 = DocExcel.ActiveSheet.PageSetup
With objPageSetup2
.PrintArea = "A1:X55"
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = DocExcel.InchesToPoints(0.787401575)
.RightMargin = DocExcel.InchesToPoints(0.787401575)
.TopMargin = DocExcel.InchesToPoints(0.984251969)
.BottomMargin = DocExcel.InchesToPoints(0.984251969)
.HeaderMargin = DocExcel.InchesToPoints(0.4921259845)
.FooterMargin = DocExcel.InchesToPoints(0.4921259845)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With


' protection du document
DocExcel.ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
gsnommatrice = gsgdimatricexcel & gscdfour & "_" & gsnommatricetext & ".xls"
pvnomxls = gsnommatrice

' Sauvegarde du workbook
DocExcel.ActiveWorkbook.SaveAs FileName:=pvnomxls, Password:="", writerespassword:="", ReadOnlyRecommended:=False, CreateBackup:=False

' Effacement du formulaire d'attente
Unload Frm_ExportEXCEL
pitemselect = 0

' fermeture d'EXCEL
objWkb.Close 0
DocExcel.Application.Quit
DoEvents
Set objPageSetup2 = Nothing
Set objPageSetup = Nothing
Set objFont = Nothing
Set objWkb = Nothing
Set DocExcel = Nothing
DoEvents

' information de l'enregistrement de la matrice sous EXCEL
MsgBox "Export de la matrice " & gsnommatricetext & " effectuée", vbOKOnly, "Export matrice"
gsnommatricetext = ""
cmd_retour_Click
End Sub

Il est évident que certaines lignes sont inutiles, car spécifiques à mon application, les principales sont celles se rattachant aux zones définies au début de procédures.

Cordialement,

PPE52




-------------------------------
Réponse au message :
-------------------------------

> Bonjour tout le monde,
> J'ai bien décortiqué toutes les discussions sur le sujet mais rien qui ne fonctionne. Voici mon code :
>
> Set MyAppli = New Excel.Application
> MyAppli.Workbooks.Open filename:=CommonDialog1.filename
> MyAppli.activeworkbook.activesheet.Columns(1).Sort key1:=Columns(1), order1:=xlDescending
> ...
> MyAppli.activeworkbook.close
> set MyAppli.activeworkbbok=nothing
> MyAppli.close
> set MyAppli = nothing
>
> J'ai bien tout qui se décharge, plus rien à l'écran mais dans les processus, j'ai toujours un Excel.exe qui tourne ! Seul solution, terminer mon appli ou le killer. Je suppose donc qu'une référence n'est pas déchargée mais alors laquelle ???

mercredi 19 novembre 2003 à 18:37:49 | Re : Fermer Excel ou comment devenir chèvre !!!

CyssouX

Salut à tous,


Je ne sais pas non plus si tu as trouvé ton bonheur mais voici un petit code qui ne laisse aucun process EXCEL ... Car en fait, avant que fermer excel, il faut fermer ton classeur ...
Le petit code suivant ouvre excel, efface une ligne, sauvegarde et ferme excel ...

Public Sub Suppression_Action()

Set ExcelSuppr = CreateObject("Excel.Application")
ExcelSuppr.Application.Workbooks.Open (path_source & "Planning_Actions_Equipe.xls")
ExcelSuppr.Visible = False
ExcelSuppr.Windows("Planning_Actions_Equipe.xls").Visible = True
ExcelSuppr.ActiveSheet.Rows(ligne).EntireRow.Delete
ExcelSuppr.Application.DisplayAlerts = False
ExcelSuppr.Save
ExcelSuppr.Windows("Planning_Actions_Equipe.xls").Close
ExcelSuppr.Application.Quit
Set ExcelSuppr = Nothing
End Sub

En espérant que cela t'aide ...

CyssouX



Cette discussion est classé dans : set, excel, fermer, devenir, myappli


Répondre à ce message

Sujets en rapport avec ce message

fermeture d'excel [ par erich ] J'ai cet appli sur un boutonSet app_exc = GetObject(, "Excel.Application") 'Test pour savoir si Excel tourneIf Err Then Err.Clear Set app_exc = TRES URGENT ET TRES FACILE !!! Ouvrir, imprimer et fermer un fichier Excel... Répondez vite SVP... [ par Julie ] Voilà, c'est tout bête: j'aimerais ouvrir un fichier Excel, l'imprimer et le fermer après impression en cliquant sur un bouton...Si vous pouviez rempl Ajout élément tableau excel avec VB [ par cloe ] Hello, J'ai un big problème je voudrais pouvoir ajouter des éléments dans un tableau excel à partir de VB.Car j'ai essayer avec :Dim xlapp As excel.A Fermer Excel avec VB [ par Whitey ] J'essaie de fermer une application Excel qui a ete ouverte a partir de mon code VB. Visuellement, Excel est fermer avec la commande xlApp.Quit mais lo VB et Excel: Enregistrer et Fermer [ par stéphane ] Comment enregistrer des modifs faites dans un fichier excel à partir de VB et fermer l'appli Excel?J'utilise une connection ADO pour ouvrir Excel mais fermer excel en vba [ par stefetisa18 ] bonjourj'ai cherché sur le forum comment fermer excel en vbaet je n'ai rien trouvé c'est bizarre que personne n'ai posé cette questionà l'aide ou je comment fermer word et excel à partir du code [ par martinkk ] comment fermer word et excel à partir du code Excel et processus... [ par boujou ] Me revoilà avec Excel, bon j'ai pu voir plusieurs messages parlant de mon problème mais je n'ai aucune réponse correct me concernant. En gros, voici m Probleme pour fermer Excel [ par Xime ] Voila j'ai réalisé une appli qui ouvre excel et crée un fichier et à la fin j'aimerais fermer excel or j'effectue les commandes necessaisres a mon avi Fermeture d'une application [ par Charlie ] Allo... Y'as-tu un API qui peut fermer une application dans le taskmanager. Ce que je veux faire c'est fermer excel lorsque son visible=false sans dev


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.