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 : Probleme de fermeture workbooks [ Archives Visual Basic / VBA ] (Alboure)

mardi 2 mai 2006 à 13:51:37 | Probleme de fermeture workbooks

Alboure

Bonjour,
je suis sous VBA excel 2002.

Je veux fermer tous les classeurs ouverts sauf le premier.
J'ai fait ça, il me les ferme tous sauf le premier et un autre et m'affiche un message d'erreur, l'indice n'appartient pas à la sélection. Si je re-clique sur CommandButton1, il arrive à fermer celui qui aurait dû se fermer avant.

Merci d'avance à ceux qui pourront m'aider à résoudre mon problème.

Private Sub CommandButton1_Click()

Dim i As Integer

   For i = 2 To Workbooks.Count
       Workbooks(i).Close
   Next

End Sub


mardi 2 mai 2006 à 15:34:32 | Re : Probleme de fermeture workbooks

Alboure

Ya vraiment personne ???

mardi 2 mai 2006 à 18:27:21 | Re : Probleme de fermeture workbooks

mrdep1978

Réponse acceptée !
Salut, A mon avis, le problème vient du fait que les index sont redéfinis à chaque fois que tu fermes 1 classeurs Ex : Au début, tu as 4 classeurs ouverts. Avt 1e passage, tu as comme classeurs ouverts : Workbooks(1) Workbooks(2) Workbooks(3) Workbooks(4) 1e passage dans la boucle : i = 2 Tu fermes Workbooks(2) => Workbooks.Count = 3 mais : Workbooks(1) => Workbooks(1) Workbooks(2) est fermé Workbooks(3) => Workbooks(2) Workbooks(4) => Workbooks(3) => Workbooks.Count = 3 Avt 2e passage : Workbooks(1) Workbooks(2) Workbooks(3) 2e passage dans la boucle : i = 3 Tu fermes Worbooks(3) Workbooks(1) => Workbooks(1) Workbooks(2) => Workbooks(2) Workbooks(3) est fermé => Workbooks.Count = 2 Avt 3e passage : Workbooks(1) Workbooks(2) 3e passage dans la boucle : i = 4 Tentative de fermeture de Workbooks(4) : ERREUR Conclusion : Dans ta boucle tu dois tjs fermer le classeur 2 : ----------------------------------------- Private Sub CommandButton1_Click() Dim i As Integer For i = 2 To Workbooks.Count Workbooks(2).Close Next End Sub ----------------------------------------- PS : Je te conseille également de ne pas utiliser ----------------------------------------- For i = 2 To Workbooks.Count ----------------------------------------- mais ----------------------------------------- li_NbClasseurs = Workbooks.Count For i = 2 To li_NbClasseurs ----------------------------------------- car la propriété "Workbooks.Count" varie à chaque passage dans la boucle (un élément est supprimé à chaque fois de la liste) et pour débugger, tu risques de t'arracher les cheveux

mardi 2 mai 2006 à 18:34:58 | Re : Probleme de fermeture workbooks

Alboure

Merci de ton aide, je teste ca tout de suite

Alboure

mardi 2 mai 2006 à 18:35:00 | Re : Probleme de fermeture workbooks

Alboure

Merci de ton aide, je teste ca tout de suite

Alboure



Cette discussion est classé dans : probleme, fermeture, fermer, premier, workbooks


Répondre à ce message

Sujets en rapport avec ce message

Probleme de fermeture ! [ par Seth77 ] Slu voila j ai fais un programme qui, dans certazine condition doit se fermer avpres l ouverture. Quand je suis sous VB tout marche bien mais une fois fermeture de page asp [ par loulou ] Bonjourje programme en aspje veux que lorsque l'utilisateur clique sur un bouton fermer pour fermer une page aspj'aimerais savoir comment peut on ferm probleme de fermeture d'application [ par bob10 ] Salut J'ai une application avec une feuille mdi comme fenêtre principale et lorsque je ferme celle-ci, je n'est plus de fenêtre à l'écran mais l'appli Probleme de fermeture Excel [ par biton ] Bonjour.Je pilote excel apartir d'ACCESS 2000 à l'aide de macros.Pour l'ouvrir pas de probleme.Mais j'ai un probleme car a la fin de mon appli il ne f probleme fermeture [ par petiflamand ] Je cherche comment ferme une feuille exellapres avoir changer les donneessans qu'il ne demande si on est d'accord je ferme le feuille avecClasseurXLS. Probleme avec formulaire [ par b212 ] Comment on fait pour passer d'un formulaire à l'autre.Afficher le deuxieme,et cacher le premier apres avoir cliquer sur un bouton du premier formulair Probleme de fermeture de Boite de dialogue sous VBA [ par hebus16 ] Salut à tous J'aimerais savoir si quelqu'un peut me donner des pistes ou des indices pour empecher la fermeture d'une boite de dialogue sous VBA Excel Lors de la fermeture d'un programme [ par danmeg_5 ] bonjour, j'ai un petit problèmej'aimerai lors du clic sur la croix pour fermer une appli prendre la main pour pouvoir interrompre le fermeture de l'ap Probleme de fermeture EXCEL processus [ par jeff50 ] SALUT, J'ai regardé toutes les sources, toutes les explications et je n'arrive pas à enlever excel.exe ne m'ont gestionnaire des tâchesdonc voici la f Fermeture formulaire + execution automatique autre formulaire [ par dork_maule ] Salut a tous.J'ai un blems. Je suis en traint de créer un programme en visual basic.net qui gére les locations de voiture.Mon probléme est que j'ai cr


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

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,452 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é.