Bonjour le forum,
J'aimerais savoir comment on peut fermer tous les classeurs et feuilles ouvertes sauf le classeur dans lequel on se trouve et dans ce classeur fermer toutes les fenetres sauf celles-ou l'on se trouve.
Merci d'avance
Bonjour le forum,
J'aimerais savoir comment on peut fermer tous les classeurs et feuilles ouvertes sauf le classeur dans lequel on se trouve et dans ce classeur fermer toutes les fenetres sauf celles-ou l'on se trouve.
Merci d'avance
Bonjour,
Je ne suis pas sure d'avoir compris puisque pour moi un classeur contient des feuille ou onglet et pas de fenêtre. Et les classeur sont dans des fenêtres Excel. Mais bon même si j'aime jouer sur les mot en matière d'informatique je me méfie toujours de ceux que j'emploie.
ce code te convient il?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Dim wb As Workbook For Each wb In worbooks If wb.Name <> ActiveWorkbook.Name Then wb.Close False 'met true si tu veux enregistrer les changement End If Next wb
Oui, effectivement, je me suis trompé, j'aimerais fermer tous les classeurs a part celui ou l'on se trouve et fermer toutes les feuilles du classeur ou l'on se trouve a part la feuille ou l'on se trouve
Je ete laisse adapter au onglet il suffit de copier le code a la suite en déclarant par exempls ws as worksheet
et dans la suite remplacer workbook(s) par worksheet(s)
(si tu as des onglet contenant des graphiques ce la ne les fermera pas il faut dans ce cas travailler sur les sheets et non les worksheets)
J'ai un message d'erreur qui me dit 'objet requis' pour la ligne
Code vba : Sélectionner tout - Visualiser dans une fenêtre à part For Each wb In worbooks
Avec le code :
J'ai l'erreur suivante : membre de méthode ou de données introuvable
Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub CommandButton1_Click() Dim wb As Workbook, ws As Worksheet Call supprimer For Each wb In Workbooks If wb.Name <> ActiveWorkbook.Name Then wb.Close False 'met true si tu veux enregistrer les changement End If Next wb For Each ws In Worksheet If ws.Name <> ActiveWorsheet.Name Then ws.Close False 'met true si tu veux enregistrer les changement End If Next wb
Et il me surligne la ligne :
ws.Close
Partager