begin process at 2012 02 14 12:08:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Fermer Excel ou comment devenir chèvre !!!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fermer Excel ou comment devenir chèvre !!!

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ée dans : set, excel, fermer, devenir, myappli


Répondre à ce message

Sujets en rapport avec ce message

Fermer complètement Excel [ par kkhuet ] Bonjour,j'ai fait le tour de tous les posts trouvés sur la question mais personne ne répond ou ne valide une solution voici mon code :    <font color= Fermer un fichier excel à 12h00 [ par johnny67 ] Bonjour désolé de ma question idiote, je ne suis meme pas sur d'etre dans la bonne section. Voila, je souhaiterais savoir comment faire pour qu'un fic VBA - Fermeture application Excel [ par Aeblan ] Bonjour, J'ai un problème avec la fermeture de mon application Excel (Office 2007). Je l'ouvre à l'aide d'une macro qui n'est pas réalisée sous Excel, VB Outlook Fichier excel invisible devient visible [ par deniss0409 ] Bonjour, Je viens de créer une macro dans outlook 2007 pour envoyer des emails de manière semi-automatique en utlisant des UserForms. Pour m'aider à aide(msflgrid+execl) [ par esisajiji ] salut qui peut m'aider[^^sad1] bn j'essayer de lire d'un fichier excel et afficher les donnes dans une msflgrid,j'ai essayé un code mais ça donne que VBA Word - Signet et autres codes [ par 8e8e ] Bonjour, J'aurais besoin d'un petit d'aide. Je ne suis pas un pro en VBA... loin de là [^^happy17] Soit un document excel contenant des données. Soi Problème de non-fermeture de Excel.exe [ par Birmania ] Bonsoir, Je viens vous voir car j'ai un problème quant à la fermeture d'une feuille Excel via VB6. En effet, lorsque j'exécute mon code, le processu Erreur d'execution '5' [ par fieutinette ] Bonjour, Voilà mon problème : j'avais une appli qui tournait très bien jusqu'à il y a encore 1 semaine. Or, depuis peu, j'ai un message d'erreur : " exporter les données en excel [ par navyconchita ] Salut, j'ai de petits problèmes pour exporter mes donnée en excel à partir de mon formulaire. au fait c'est d'abord excel lui-même qui ne veut pas se


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales