Pb fermeture feuille excel

sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007 - 22 mars 2007 à 15:59
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 24 mars 2007 à 06:48
Bonjour,


J'expose mon problème:


Dans un programme devant utilisé Excel n'importe comment (importation de données, graphes, retrouvationnage de résultats....) je bute sur un point tout con. Mais avant de dire lequel, place au "bout de code" :


Dim xls As New Excel.Application
Dim yopwb As Excel.Workbook
Dim yopwk As Excel.Worksheet
.....
.....         travaillonnage
.....
Set yopwk = yopwb.Worksheets(nbwk)
.....
.....         travaillonnage
.....
yopwb.close
set yopwk = nothing
set yopwb = nothing
set xls = nothing

Le problème vient de mon yopwk. Quand je ferme mon yopwb (classeur Excel bien déclaré bien ouvert tout nickel tout propre), la feuille yopwk est toujours ouverte. En fait au lieu d'être une feuille de yopwb, le programme créé un nouveau classeur et y affecter yopwk.

Quelqu'un aurait une idée de la raison de ce bug?

8 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
22 mars 2007 à 16:05
Salut,

j'ai rien compris à tes explications mais bon, on va essayer de deviner :


tu fais yopwb.Close


OK, c'est pour ton classeur, mais t'as ouvert aussi une autre session d'Excel, tu as le droit de la refermer :


xls.Quit

@++





<hr width="100%" size="2" />

  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
22 mars 2007 à 16:25
le problème c'est que je fais:

set yopwk = yopwb.worksheets(nbwk)

et quand je ferme yopwb j'ai toujours yopwk d'ouvert dans un autre classeur
(là je pense que tu comprend mieux)
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
22 mars 2007 à 16:32
Ton code est très étrange. Tu déclares une nouvelle instance d'Excel, tu n'ouvres aucun classeur, la feuille référencée au classeur qui n'est jamais ouvert possède un nom non déclaré, bref, on peut pas grand chose pour toi dans l'état actuel.

Excel est déja ouvert, ça OK, mais à partir de là, que veux-tu faire exactement ?
Il nous faut des détails clairs.
0
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
22 mars 2007 à 19:14
cf 1er message :

[...]yopwb (classeur Excel bien déclaré bien ouvert tout nickel tout propre)[...]

Ce n'est pas la première fois que j'utilise Excel depuis VB.
Ce que je veux faire exactement c'est faire que yopwk corresponde à la feuille n° nbwk du classeur yopwb.
Pour cela j'utilise l'instruction:

Set yopwk = yopwb.Worsksheets(nbwk)                    avec nbwk > 0 et si nbwk > 3 j'ajoute une feuille dans yopwb.

Mon problème vient que malgré avoir utilisé cette instruction, yopwk fais référence à la feuille nbwk d'un nouveau classeur (qui se créé automatiquement).

Sans méchanceté je pense qu'il faut parfois accepter de prendre un peu de temps pour répondre à une question, ou dire qu'on a pas tout compris (il arrive fréquemment que celui qui pose une question ne soit pas clair, moi le premier), au lieu de tenter de répondre rapidement, sans réfléchir et sans faire attention à ce qui est donné comme indication.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
22 mars 2007 à 19:53
Salut,
Beaucoup de sources traitent de ce sujet jettes un coup d'oeil à ma source ou fait une recherche sur le site.

Cordialement, Jean-Paul  
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
23 mars 2007 à 08:11
Je vais peut-être devoir être une minimum vulgaire mais arrêtez de prendre les gens pour des cons et répondez aux questions ou alors dites rien plutôt que des conneries.
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
23 mars 2007 à 16:48
TU VOIS LA JE NE DIS PLUS BONJOUR
Je ne vois pas ou sont les conneries dont tu parle
ma source parle d'ouverture d'excel depuis VBA en laissant tout propre.
Alors à moins que tu ne sache pas cliquer sur un lien, ou que tu ne sache pas lire, cela devrais t'aider .......
Maintenant si tu compte sur nous pour te sortir un code adapter à ton cas il faudra surement être plus aimable
Bonjour chez toi.
Cordialement, Jean-Paul  
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
24 mars 2007 à 06:48
Oh Sobullshit, calmos,

"Je vais peut-être devoir être une minimum vulgaire"
Rien ne t'y obligeais, mais bon...

Maintenant pour reprendre ton dernier paragraphe, j'ai qu'une chose à dire, regardre le nombre de messages que j'ai, je peux te dire que des situations qui dûrent plusieurs pages auraient pu se débloquer plus rapidement, bah j'en ai vu...
Bref, c'est à TOI d'accepter l'aide qu'on t'apporte, même si cela ne convient pas à tous les coup à la demande.
On est pas payé pour le faire, c'est un plaisir (et le restera).

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
Rejoignez-nous