(VBA) pour ERIC S, Chti160 et plus .....

  • Initiateur de la discussion Initiateur de la discussion Max18
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Max18

Guest
Rebonjour à tous,
Voici mon nouveau problème :

J'ai deux classeurs qui sont ouverts et je me situe actuellement sur le premier.
Quel code utiliser pour :
- sélectionner le deuxième classeur,
- le fermer
- réouvrir le premier classeur puis le fermer.

Encore merci à tous
 
Salut Max18,

Tout d'abord, si tu avais lu la Charte, tu serais qu'il n'est pas conseillé d'interpellé directement des personnes dans le titre du post.

Sinon, heu... Y a quelque chose qui me parait bizarre dans ce que tu demandes. Tu veux fermer le 2nd classeur, jusque la je te suis. Ensuite tu veux réouvrir le 1er classeur alors que celui-ci est ton classeur actif si je te suis dans tes explications.

Donc soit tu as oublié de donner des infi, soit ce que tu veux faire risque de poser problème.

@+

Edition : Salut Eric

Message édité par: porcinet82, à: 29/06/2006 14:57
 
re

si tu connais le nom du second classeur (toto.xls)

'active seconde fenêtre
windows('toto.xls').activate
'ferme second classeur sans sauvegarde
activewindow.close savechanges:=false
'le retour au premier est automatique
'ferme premier classeur sans sauvegarde
activewindow.close savechanges:=false
 
Re:VBA Actions sur Multi-Classeurs Ouverts

Bonjour Max, Porcinet, José, Eric le Forum,

A mon avis comme te l'a déjà conseillé Porcinet, tu devrais consacrer un petit moment à lire notre Charte... (J'ai changé le sujet pour être 'XLD Compliant')

Pour passer de classeurs en classeurs, le plus académique est de déclarer des Objets avec l'instruction Set

Voici un exemple basic en partant du principe comme Eric que tu connais le nom du Second Classeur :


Sub MultiWorkBooks()
Dim WB1 As Workbook, WB2 As Workbook
Dim WS1 As Worksheet, WS2 As Worksheet

Set WB1 = ThisWorkbook
Set WS1 = WB1.Worksheets('Feuil1')


Set WB2 = Workbooks('UnAutreClasseur.xls')
Set WS2 = WB2.Worksheets('Feuil1')

WB2.Activate
WS2.Activate
WS2.Range('a1') = Now
WB2.Close
True

WB1.Activate
WS1.Range('a1') = Now
WB1.Close
True 'si on met 'False' on ne sauvrait pas le classeur

End Sub


Tu noteras, que ta demande dans l'état, ce code répond à ta demande si il est situé dans le Premier Classeur, par contre il est hors de question de penser pouvoir poursuivre l'exécution d'un code si on ferme le classeur le contenant.

Par conséquent ta phrase 'réouvrir le premier classeur puis le fermer' n'est pas applicable. (ou alors depuis un classeur 'tiers' ou bien.... de la 'BAC' comme conseille mon amigo José !!!)

Bonne journée
[ol]@+Thierry[/ol]
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
779
Retour