Enregistrement d'un fichier Excel+processus non tué

Enregistrement d'un fichier Excel+processus non tué - VB/VBA/VBS - Programmation

Marsh Posté le 11-08-2004 à 17:54:38    

Lu a tous,
 
J'ai un petit probleme lors de l'enregistrement d'un fichier Excel en vba. Lorsque que fais objet.SAVEAS [nom_de_fichier] apres avoir modifié un fichier Excel, il ne tue pas le processus. Et quand je mets pas le saveAs, ca marche ?
Quelqu'un peut m'aidé ???
Pourtant, je fais bien le QUIT qui va bien, les variables = Nothing.
La je comprends vraiment pas mon erreur.

Reply

Marsh Posté le 11-08-2004 à 17:54:38   

Reply

Marsh Posté le 12-08-2004 à 09:16:40    

En fait, je crois voir d'ou viens le probleme et j'ai vu plein de monde qui est le meme cas que moi.
Dans mes lignes, je fait des selections :
 
Feuille.Columns("C:C" ).Select
Selection.Cut
 
Exemple tout bete mais c'est a cause de ca que le proc n'est pas tué. Il crée un objet, je sais pas encore trop quoi, et il ne le libere pas lorsque l'on ferme Excel mais lorsque l'on quitte l'appli VBA !^
 
Faut qu'a chaque fois que l'on touche au fichier, créer un objet qui va bien et le libérer apres. Si tous les objets ne sont pas libéré, le proc n'est pas tué et c la merde...

Reply

Marsh Posté le 12-08-2004 à 10:53:54    

ENCORE MIEUX....
DOnc si vous avez compris, je fais des modif de mon fichier Excel. J'ai mis en place nu objet Range et je fait
monObjetRange = Nothing a la fin...
 
Jusque la ca marche, sauf quand j'utilise la methode 'monObjetRange.Sort'... Le processus reste en tache de fond.
Si quelqu'un a une idee...

Reply

Marsh Posté le 12-08-2004 à 11:00:01    

bah en fait, c'est bon, j'ai trouvé... C'est vraiement lourd comme truc.
En fait, voici le code :
Set ExcelRange = donnees_gpo.Range("A2:Z" & nb_lignes + 1)
Set ExcelRangeKey = donnees_gpo.Range("A2" )
Set ExcelRangeKey2 = donnees_gpo.Range("B2" )
ExcelRange.Sort Key1:=ExcelRangeKey, Order1:=xlAscending, Key2:=ExcelRangeKey2 _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
 
--> Pour les keys, on est obligé de créer un objet de type Range et de faire a la fin  
Set objetRangeKey = noting
 
MERCI VBA DE ..[CENSURE]..

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed