djtrefle
Messages postés36Date d'inscriptionmardi 25 janvier 2005StatutMembreDernière intervention28 juin 2008
-
21 mai 2008 à 12:34
djtrefle
Messages postés36Date d'inscriptionmardi 25 janvier 2005StatutMembreDernière intervention28 juin 2008
-
22 mai 2008 à 11:31
Bonjour,
j'ai un souci avec Excel 97. Je sais, c'est vieux mais j'ai pas le choix c'est pour une entreprise.
En fait a partir de VB6 j'ecris des donnes dans un classeur excel que je sauvegarde quand toutes mes donnes y sont placees.
Mon programme marche bien mais le probleme c'est que si j'ouvre un fichier excel (sans passer par VB, juste en double cliquant sur un fichier *.xls depuis l'explorateur windows) alors le fichier selectionner s'ouvre (logique) mais VB qui etait en train d'ecrire dans un classeur (qui etait cache : appExcel.Visible = False) se met alors a ecicre dans le fichier que je viens d'ouvrir.
Je sais pas si c'est bien clair mais en tout cas ca m'ennuie drolement.
Si quelqu'un a une idee.
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 21 mai 2008 à 15:40
Salut,
voici une solution que j'ai deja donné en reponse a un probleme similaire :
si je ne me trompe pas ton probleme n'existe que dans le
cas ou un utilisateur double clique sur un fichier excel. Dans ce cas
le fichier s'ouvre dans la session deja existante. Par contre si tu
ouvres excel a partir de l'exe via un racourci une nouvelle session
excel sera créée et dans ce cas tes fichier reste cahés dans la session
deja existante.
Donc ceci devrait t'aider :
Application.IgnoreRemoteRequests = True
la propriete IgnoreRemoteRequests permet de privatiser ton instance ce qui oblige windows a relancer un
nouvelle instance lors d'un double clique sur un fichier lier a l'exe .
Attention de ne pas oublier de repasser a false avant fermer ton
instance
Par contre j'ai essayé de voir si cela peut fonctionner avec XL97, a priori oui, mais cela reste a confirmer.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 21 mai 2008 à 14:04
salut,
vérifie (au cas où) qu'il n'i ait aucune instruction dans l'évènement Open de ton classeur.
Comment procèdes-tu pour écrire dans ton fichier depuis vb6 ? (et comment tu fermes ce fichioer ?)
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 21 mai 2008 à 15:18
essaie peut-être comme ceci, mais je ne te garantis rien :
Dim appExcel As Excel.Application
Dim bookExcel As Excel.Workbook
'on va, au cas où référencer le classeur pour écrire dedans,
afin d'éviter confusions
'Set appExcel =
CreateObject("Excel.Application")
' il ne faut
pas passer par createobject, il sert à creer des liaisons
tardives.
Set appExcel = New Excel.Application
Set bookExcel = appExcel.Workbooks.Add