Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA - fermer toutes les fenêtres de l'éditeur VBE

7 réponses
Avatar
twinley
Bonsoir à tous,

Juste avant de sauvegarder un classeur ouvert sous un nouveau nom, je
souhaite fermer toutes les fenêtres de l'éditeur VBE.

Existe-t-il une macro qui fasse l'affaire ? J'ai parcouru quelques sites
mais j'ai pas trouvé

Merci pour votre aide.

--
à+twinley

7 réponses

Avatar
Alain CROS
Bonjour

Application.VBE.MainWindow.Visible = False

Alain CROS

"twinley" a écrit dans le message de news:
Bonsoir à tous,

Juste avant de sauvegarder un classeur ouvert sous un nouveau nom, je
souhaite fermer toutes les fenêtres de l'éditeur VBE.

Existe-t-il une macro qui fasse l'affaire ? J'ai parcouru quelques sites
mais j'ai pas trouvé

Merci pour votre aide.

--
à+twinley


Avatar
twinley
Bonsoir à tous, Bonsoir Alain

Je me suis mal exprimé : comment fermer toutes les fenêtres ouvertes
dans le VBE, chaque fenêtre correspond à un module standard, à un UF, à
un module de feuille... Au bout d'un moment, il y en a un paquet.

Je n'avais pas pensé à fermer la fenêtre de l'éditeur et ton code me
servira. Je garde précieusement.

Merci pour ton aide

à+twinley

Bonjour

Application.VBE.MainWindow.Visible = False

Alain CROS

"twinley" a écrit dans le message de news:

Bonsoir à tous,

Juste avant de sauvegarder un classeur ouvert sous un nouveau nom, je
souhaite fermer toutes les fenêtres de l'éditeur VBE.

Existe-t-il une macro qui fasse l'affaire ? J'ai parcouru quelques sites
mais j'ai pas trouvé

Merci pour votre aide.

--
à+twinley







Avatar
Alain CROS
Bonjour.

Peut être ça ?

Sub Ferme_CodeWindow()
Dim Win As Object
For Each Win In Application.VBE.Windows
If Win.Type = 0& Then
Win.Close
End If
Next Win
Set Win = Nothing
End Sub

Alain CROS

"twinley" a écrit dans le message de news: #$
Bonsoir à tous, Bonsoir Alain

Je me suis mal exprimé : comment fermer toutes les fenêtres ouvertes
dans le VBE, chaque fenêtre correspond à un module standard, à un UF, à
un module de feuille... Au bout d'un moment, il y en a un paquet.

Je n'avais pas pensé à fermer la fenêtre de l'éditeur et ton code me
servira. Je garde précieusement.

Merci pour ton aide

à+twinley



Avatar
twinley
Bonsoir,

Grâce à Alain et Denis Michon j'ai avancé mais ça tourne carré :

Sub fermecodepanevbe()
nbcp = Application.VBE.CodePanes.Count
Set wbk = ActiveWorkbook
For cp = nbcp To 2 Step -1
With wbk.VBProject.VBComponents(cp).CodeModule '"Feuil40"
.CodePane.Window.Close
End With
Next cp
'Application.VBE.MainWindow.Visible = False
End Sub

Je ne suis pas loin, la plupart des CodePanes se ferment mais pas tous.
Y a comme un défaut...et il y a surement plus élégant !

à+twinley

Bonsoir à tous, Bonsoir Alain

Je me suis mal exprimé : comment fermer toutes les fenêtres ouvertes
dans le VBE, chaque fenêtre correspond à un module standard, à un UF, à
un module de feuille... Au bout d'un moment, il y en a un paquet.

Je n'avais pas pensé à fermer la fenêtre de l'éditeur et ton code me
servira. Je garde précieusement.

Merci pour ton aide

à+twinley


Bonjour

Application.VBE.MainWindow.Visible = False

Alain CROS

"twinley" a écrit dans le message de news:


Bonsoir à tous,

Juste avant de sauvegarder un classeur ouvert sous un nouveau nom, je
souhaite fermer toutes les fenêtres de l'éditeur VBE.

Existe-t-il une macro qui fasse l'affaire ? J'ai parcouru quelques sites
mais j'ai pas trouvé

Merci pour votre aide.

--
à+twinley










Avatar
twinley
Oui, c'est parfait avec en plus la ligne pour fermer le VBE quand tous les
CodePanes sont fermés.
Impeccable, encore merci Alain.

8-)

à+twinley


Bonjour.

Peut être ça ?

Sub Ferme_CodeWindow()
Dim Win As Object
For Each Win In Application.VBE.Windows
If Win.Type = 0& Then
Win.Close
End If
Next Win
Set Win = Nothing
End Sub

Alain CROS

"twinley" a écrit dans le message de news: #$
Bonsoir à tous, Bonsoir Alain

Je me suis mal exprimé : comment fermer toutes les fenêtres ouvertes
dans le VBE, chaque fenêtre correspond à un module standard, à un UF, à
un module de feuille... Au bout d'un moment, il y en a un paquet.

Je n'avais pas pensé à fermer la fenêtre de l'éditeur et ton code me
servira. Je garde précieusement.

Merci pour ton aide

à+twinley








Avatar
Gaenonius
Une autre solution VBA possible (incluant la fermeture des modules des userforms) :

''''''''''''''''
Sub CloseAllModules()
' Jake Marx 8/9/01
Dim cp, vbc

For Each cp In ThisWorkbook.VBProject.VBE.CodePanes
cp.Window.Close
Next cp

For Each vbc In ThisWorkbook.VBProject.VBComponents
If vbc.HasOpenDesigner Then
vbc.DesignerWindow.Close
End If
Next vbc
End Sub
''''''''''''''''

--
Gaenonius

Bonsoir à tous,

Juste avant de sauvegarder un classeur ouvert sous un nouveau nom, je
souhaite fermer toutes les fenêtres de l'éditeur VBE.

Existe-t-il une macro qui fasse l'affaire ? J'ai parcouru quelques sites
mais j'ai pas trouvé

Merci pour votre aide.



Avatar
twinley
Merci Gaenonius

à+twinley

Une autre solution VBA possible (incluant la fermeture des modules des
userforms) :

''''''''''''''''
Sub CloseAllModules()
' Jake Marx 8/9/01
Dim cp, vbc

For Each cp In ThisWorkbook.VBProject.VBE.CodePanes
cp.Window.Close
Next cp

For Each vbc In ThisWorkbook.VBProject.VBComponents
If vbc.HasOpenDesigner Then
vbc.DesignerWindow.Close
End If
Next vbc
End Sub
''''''''''''''''

--
Gaenonius


Bonsoir à tous,

Juste avant de sauvegarder un classeur ouvert sous un nouveau nom, je
souhaite fermer toutes les fenêtres de l'éditeur VBE.

Existe-t-il une macro qui fasse l'affaire ? J'ai parcouru quelques
sites mais j'ai pas trouvé

Merci pour votre aide.