Greengold
Messages postés57Date d'inscriptionmercredi 16 octobre 2002StatutMembreDernière intervention31 mars 2004
-
4 août 2003 à 18:32
cs_Axar
Messages postés19Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention12 juillet 2012
-
20 juin 2007 à 15:06
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_Axar
Messages postés19Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention12 juillet 2012 20 juin 2007 à 15:06
serai-je t il le seul ou cela ne marche, j'ai bien esté le code mise à disposition, mais je retrouve les même problèmes, c'est a dire qu'une instance "Excel.exe" est toujours présente dans les process.
De plus, dans mon programme je suis amené à réouvrir Excel.
je tente d'entré la commande suivante :
le programme s'arrete a la premiere ligne et affiche : "Erreur 1004, la méthode 'Range' de l'objet '_Global' a echoué"
pensant que c'etait a cause de l'instance Excel encore présente.
je la supprime et la j'ai le message qui me dit que le serveur distant n'est plus diponible.
je deviens fou avec Excel !!!!
Please Help me!!!!
Xiotos
Messages postés34Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention19 juillet 2010 17 août 2006 à 10:18
Salut. Felicitation pour l'explication. J'ai le problème et ne comprenait pas d'où ca pouvait venir. Mais maintenant grace à tes explications, c'est résolu. Merci encore.
rsbill
Messages postés22Date d'inscriptionlundi 13 février 2006StatutMembreDernière intervention22 août 2007 18 mai 2006 à 16:08
Salut. Félicitations pour ton explication ça a l'air vraiment génial....sauf que j'ai rien compris! Je suis débutant.
Comme dirais un Michel célèbre: "désolé"
maxibesttof
Messages postés3Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention 3 novembre 2005 3 nov. 2005 à 10:48
jeromekj
Messages postés9Date d'inscriptionmardi 8 janvier 2002StatutMembreDernière intervention10 avril 2006 23 avril 2005 à 00:22
J'avais moi aussi quelques soucis avec ce $!@... de process 'EXCEL.EXE'. Ton petit cours m'a permi de résoudre définitivement le pbm. Merki bien.
Corsair111
Messages postés4Date d'inscriptiondimanche 17 octobre 2004StatutMembreDernière intervention27 octobre 2004 14 mars 2005 à 19:34
Super. J'ai le même problème.
J'avais trouvé qu'une simple déclaration dans la procédure en cours avec un Set AppXl= nothing à la fin marchait.
Mais là je me heurte à nouveau au problème.
Par contre je passe par deux autres procédures auquelles je passe les paramètres MonClasseur et MaFeuille. J'ai bien le quit et le nothing.Et là Excel reste en instance.
Mais j'utilise des blocs with et en lisant tous les mails, j'ai vu que c'était pas bon.
Merci à tous de vos commentaires.
admchocob74
Messages postés1Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention 4 février 2005 4 févr. 2005 à 12:28
Concernant la création d'une nouvelle instance de tes objets,
tu auras le même problème en utilisant des block with
exemple:
With Feuille1.Range("A3", "E3").Font
.Size = 12
.Bold = True
.Color = vbBlack
End With
dans ce cas précis il suffit de remplacer le code par :
arfff.... Avec des copier/coller c'est pas trop fatiguant lol
cs_Labuzz
Messages postés13Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention11 avril 2005 2 févr. 2005 à 13:05
Au fait VBiginieur >>>> "
Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaa hahahahahahaha.
Mouhahahhahaha
Trop MoRt De RiRe !!!!!
Pardon ?
cs_Labuzz
Messages postés13Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention11 avril 2005 2 févr. 2005 à 12:39
LOooL !
MDrrrr, je viens juste de relire mon poste.
Salut, voila le post en mode debboguer:
"Je viens juste de me rendre compte de ce probleme aujourd'hui meme, et franchement, pour la premiere fois que je suis confronter a un probleme en programmation qui trouve sa reponse simplement, clairement et efficacement, ca se fait en moins de 5h (tout cours !)
Tout ca pour dire QUE plus jamais je ne chercherais une reponse sur le net plus de 5h ^^ et encore merci !"
Enfin le seul truc a retenir dans ce que je raconte C merci.
Tu t vu quand t'a bus ??? (0.o) ???
cs_Labuzz
Messages postés13Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention11 avril 2005 2 févr. 2005 à 12:33
Bah C pas le cas en VB6.
Franchement ca tombe trop bien.
Je viens juste de rendre compte de ce problem aujourd'hui, et je franchement, pour la premiere fois que je un probleme en programmation qui trouve une reponse simple, claire et efficace, ca se fait en moins de 5h koi.
TouT ca pour dire, plus jamais je ne chercherais une reponse sur le net plus de 5h ^^ et encore merci !
(Reste plus qu'a savoir comment on utilise la proprieter selection en passant par l'objet EXCEL.Application "appXL", Chiiiii Chuuuu selection t ou ? )
real_satanique
Messages postés1Date d'inscriptionmardi 3 février 2004StatutMembreDernière intervention 3 février 2004 3 févr. 2004 à 21:45
En VBS j'utilise simplement:
Set appXL = WScript.CreateObject("Excel.Application")
... bal bla bla ...
appXL.quit
set appXL = Nothing
et excel se ferme à tous coup même si des référence à des élément d'excel (sheet...) n'ont pas été détruit
huuuuu21
Messages postés30Date d'inscriptionmercredi 24 septembre 2003StatutMembreDernière intervention 8 septembre 2009 6 nov. 2003 à 16:23
ouaih ça marche super bien, mais pas sous 98, seulement sous XP (et surement sous 2000, mais je n'ai pas essayé) J'ai fait un programme, et j'utilise cette methode pour fermer excel. Mais il marche pas sous 98. excel reste toujours en process. Y'a t il un develloppeur dans l'avion ????
MyNemIsU
Mooiz
Messages postés128Date d'inscriptionmercredi 25 juin 2003StatutMembreDernière intervention 8 juillet 2005 6 août 2003 à 15:03
Moi j'en ai besoin maintenant et vraiment MERCI BEAUCOUP
10/10
cs_Keneyda
Messages postés41Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention27 mars 2009 5 août 2003 à 23:41
Trés belle source bien détaillé, dommage que tu ne l'es pas ecrite plutot, j'en avais besoin, il y a 1 mois :)
Je vais la tester
Merci
Keneyda
VBbigineure
Messages postés169Date d'inscriptionvendredi 27 septembre 2002StatutMembreDernière intervention27 février 20091 5 août 2003 à 09:55
Ah là, chapeau, et c'est vraiment du niveau 1... Si un jour un truc comme ça m'arrive je pense que je tirerais très fort sur le fil gris qui pendouille de mon UC, et je ne le remettrais pas avant le lendemain en priant très fort pour que saint bill ait fait kekchose dans la nuit.
Greengold
Messages postés57Date d'inscriptionmercredi 16 octobre 2002StatutMembreDernière intervention31 mars 2004 4 août 2003 à 18:32
Je voudrais réagir sur un point : Public oXl As clsXL 'Objet XL 'Instance de class.
Avec cette ligne de code tu ne fais que créer ton objet en mémoire, ensuite pour pouvoir l'utiliser il faut l'instancier, et là on utilise Set oXl = New clsXL pour faire une instanciation différée en fait.
Si tu veux instancier à la déclaration, il faut faire : Public oXl As New clsXL
C juste une question de vocabulaire. Merci d'avoir partagé ton expérience.
20 juin 2007 à 15:06
De plus, dans mon programme je suis amené à réouvrir Excel.
je tente d'entré la commande suivante :
With RapportCl.ActiveSheet.QueryTables.Add(Connection:=Array( _
"OLEDB;Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Data Source=192.168.59.37;Use Procedure for Prepare=1;Auto" _
, _
" Translate=True;Packet Size=4096;;Use Encryption for Data=False;Tag with column collation when possibl" _
, "e=False;Initial Catalog=ARCHIVES_TEST"), Destination:=Range("A1"))
.CommandType = xlCmdSql
.CommandText = Array(str_SQL)
.Name = "192.168.59.37 ARCHIVES_TEST ADHMVT"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
'.SourceConnectionFile = _
'"C:\travail\Mes sources de données\192.168.59.37 ARCHIVES_TEST ADHMVT.odc"
.Refresh BackgroundQuery:=False
End With
le programme s'arrete a la premiere ligne et affiche : "Erreur 1004, la méthode 'Range' de l'objet '_Global' a echoué"
pensant que c'etait a cause de l'instance Excel encore présente.
je la supprime et la j'ai le message qui me dit que le serveur distant n'est plus diponible.
je deviens fou avec Excel !!!!
Please Help me!!!!
17 août 2006 à 10:18
18 mai 2006 à 16:08
Comme dirais un Michel célèbre: "désolé"
3 nov. 2005 à 10:48
http://www.vbfrance.com/code.aspx?ID=27541
23 avril 2005 à 00:22
14 mars 2005 à 19:34
J'avais trouvé qu'une simple déclaration dans la procédure en cours avec un Set AppXl= nothing à la fin marchait.
Mais là je me heurte à nouveau au problème.
Par contre je passe par deux autres procédures auquelles je passe les paramètres MonClasseur et MaFeuille. J'ai bien le quit et le nothing.Et là Excel reste en instance.
Mais j'utilise des blocs with et en lisant tous les mails, j'ai vu que c'était pas bon.
Merci à tous de vos commentaires.
4 févr. 2005 à 12:28
tu auras le même problème en utilisant des block with
exemple:
With Feuille1.Range("A3", "E3").Font
.Size = 12
.Bold = True
.Color = vbBlack
End With
dans ce cas précis il suffit de remplacer le code par :
Feuille1.Range("A3", "E3").Font.Size = 12
Feuille1.Range("A3", "E3").Font.Bold = True
Feuille1.Range("A3", "E3").Font.Color = vbBlack
arfff.... Avec des copier/coller c'est pas trop fatiguant lol
2 févr. 2005 à 13:05
Haaaaaaaaaaaaaaaaaaaaaaaaaaaaaa hahahahahahaha.
Mouhahahhahaha
Trop MoRt De RiRe !!!!!
Pardon ?
2 févr. 2005 à 12:39
MDrrrr, je viens juste de relire mon poste.
Salut, voila le post en mode debboguer:
"Je viens juste de me rendre compte de ce probleme aujourd'hui meme, et franchement, pour la premiere fois que je suis confronter a un probleme en programmation qui trouve sa reponse simplement, clairement et efficacement, ca se fait en moins de 5h (tout cours !)
Tout ca pour dire QUE plus jamais je ne chercherais une reponse sur le net plus de 5h ^^ et encore merci !"
Enfin le seul truc a retenir dans ce que je raconte C merci.
Tu t vu quand t'a bus ??? (0.o) ???
2 févr. 2005 à 12:33
Franchement ca tombe trop bien.
Je viens juste de rendre compte de ce problem aujourd'hui, et je franchement, pour la premiere fois que je un probleme en programmation qui trouve une reponse simple, claire et efficace, ca se fait en moins de 5h koi.
TouT ca pour dire, plus jamais je ne chercherais une reponse sur le net plus de 5h ^^ et encore merci !
(Reste plus qu'a savoir comment on utilise la proprieter selection en passant par l'objet EXCEL.Application "appXL", Chiiiii Chuuuu selection t ou ? )
3 févr. 2004 à 21:45
Set appXL = WScript.CreateObject("Excel.Application")
... bal bla bla ...
appXL.quit
set appXL = Nothing
et excel se ferme à tous coup même si des référence à des élément d'excel (sheet...) n'ont pas été détruit
6 nov. 2003 à 16:23
MyNemIsU
6 août 2003 à 15:03
10/10
5 août 2003 à 23:41
Je vais la tester
Merci
Keneyda
5 août 2003 à 09:55
4 août 2003 à 18:32
Avec cette ligne de code tu ne fais que créer ton objet en mémoire, ensuite pour pouvoir l'utiliser il faut l'instancier, et là on utilise Set oXl = New clsXL pour faire une instanciation différée en fait.
Si tu veux instancier à la déclaration, il faut faire : Public oXl As New clsXL
C juste une question de vocabulaire. Merci d'avoir partagé ton expérience.