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

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= VBA excel: le projet ne se referme pas [ par Deeddolith ] Bonjour,Je developpe une application sous excel qui me pose quelques soucis, lorsque je ferme le classeur (sans fermer excel), le projet reste ouvert, Manipulation de excel, sortie sans sauvegarde [ par phoenix591 ] Bonjour à tous,Je suis devant un petit problème, dans une application je me sers  d'excel pour réaliser des recherche dans une base de données d'image Exporter vers word le résultat d' une requete. [ par LIBRE_MAX ] Salut, Voilà ce qui marche: Depuis vb6, j' insère des données dans une feuille Excelavec la méthode CopyFromRecordset.Exemple:'------------------- Comment coller des donnée excel en image avec une macro VBA excel [ par kmongou ] Bonjour,Je ne suis pas un pro en VBA excel. Je souhaiterais créer une macro sous VBA excel qui me permet de coller un tableau excel en forma image dan ACCESS VBA Problème de réinitialisation [ par charlie9277 ] Bonjour à tous,Cela fait maintenant deux jours que je n'arrive pas à résoudre mon bug.J'ai parcouru beaucoup de forum mais sans réponse. Alors je me l graphique excel [ par leila02 ] Bonjour, voila je veux ouvrir un graph EXCEL, dans lequel je met à jour des valeurs, donc qui changent. Le graph est ouvert via OLE . CEpendant le gra fermer l'application excel sans sauvegarder [ par Rox74 ] Bonjour à tous,Je souhaiterais (grace a un bouton) pouvoir fermer toute l'application excel et sans sauvegarder le classeur.Je sais que pour fermer l' Fermer un formulaire VBA [ par mmmxtina ] Bonjour à tous.Petite question.J'ai fais une appli qui lorsque j'ouvre un fichier excel, un formulaire s'ouvre.Ce "formulaire" propose 3 boutons, qui Ouvrir ou fermer un port [ par dimz01 ] Bonjour,Je débute en VB et je voudrais trouver un code qui permet d'ouvrir des port du firewall windows en pouvant choisir UDP ou TCP pour l'instant j


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

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

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,577 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é.