Bonjour à tous,
Avec VBA, je fais une copie d'un classeur tout en supprimant ses macros, sur
la base d'un code téléchargé sur excelabo. Sauf qu'aléatoirement il y a des
moments où la procédure ne fonctionne pas, sans que j'en trouve la raison.
J'ai alors observé que la procédure fonctionne plus sûrement en ouvrant
auparavent la fenêtre de code. Je l'ouvre de la façon suivante :
ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule.CodePane.Show
Mais je ne trouve pas le moyen de fermer cette fenêtre à la fin de la
procédure. (je ne souhaite pas seulement fermer la fenêtre de code du
module1, mais la fenêtre de tous les codes). Close et Hide sont refusés.
Quelle est la méthode qui pourrait réaliser ceci ?
Merci de votre aide.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
bonjour,
Extrait de la bibliothèque de programmes du site de Frédéric Sigonneau
'fermer toutes les fenêtres des modules de code d'un projet (3 procédures)
'nécessite une référence à la bibliothèque 'Microsoft Visual Basic For Applications Extensibility 5.3
'------------------------------- Sub CloseAllVBEWindows() ' mpep ' Close all VB windows
Dim CodeWind As VBIDE.Window For Each CodeWind In Application.VBE.Windows If CodeWind.Type = vbext_wt_CodeWindow Then CodeWind.Close End If Next CodeWind
Dim Wind As Window For Each Wind In Application.Windows If Wind.Type = vbext_ct_MSForm Then Wind.Close End If Next Wind End Sub '------------------------------- Sub CloseAllCodeWindows()
' Tom Olgivy 6/6/01
Dim VBComp As VBIDE.VBComponent, _ VBProj As VBIDE.VBProject, _ vbWin As VBIDE.Window For Each VBProj In ActiveWorkbook.VBProject.VBE.VBProjects If VBProj.Protection = vbext_pp_none Then For Each VBComp In VBProj.VBComponents If VBComp.Type = vbext_ct_StdModule Or _ VBComp.Type = vbext_ct_MSForm Then Debug.Print VBComp.CodeModule.CodePane.Window.Caption End If Next VBComp End If Next VBProj For Each vbWin In ActiveWorkbook.VBProject.VBE.Windows If vbWin.Type = vbext_wt_Designer Then vbWin.Close End If Next
End Sub '-------------------------- Sub CloseAllModules() ' Jake Marx 8/9/01
Dim cp As CodePane Dim vbc As VBComponent
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 A+
Bonjour à tous, Avec VBA, je fais une copie d'un classeur tout en supprimant ses macros, sur la base d'un code téléchargé sur excelabo. Sauf qu'aléatoirement il y a des moments où la procédure ne fonctionne pas, sans que j'en trouve la raison. J'ai alors observé que la procédure fonctionne plus sûrement en ouvrant auparavent la fenêtre de code. Je l'ouvre de la façon suivante : ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule.CodePane.Show Mais je ne trouve pas le moyen de fermer cette fenêtre à la fin de la procédure. (je ne souhaite pas seulement fermer la fenêtre de code du module1, mais la fenêtre de tous les codes). Close et Hide sont refusés. Quelle est la méthode qui pourrait réaliser ceci ? Merci de votre aide.
bonjour,
Extrait de la bibliothèque de programmes du site de Frédéric Sigonneau
'fermer toutes les fenêtres des modules de code d'un projet (3 procédures)
'nécessite une référence à la bibliothèque
'Microsoft Visual Basic For Applications Extensibility 5.3
'-------------------------------
Sub CloseAllVBEWindows()
' mpep
' Close all VB windows
Dim CodeWind As VBIDE.Window
For Each CodeWind In Application.VBE.Windows
If CodeWind.Type = vbext_wt_CodeWindow Then
CodeWind.Close
End If
Next CodeWind
Dim Wind As Window
For Each Wind In Application.Windows
If Wind.Type = vbext_ct_MSForm Then
Wind.Close
End If
Next Wind
End Sub
'-------------------------------
Sub CloseAllCodeWindows()
' Tom Olgivy 6/6/01
Dim VBComp As VBIDE.VBComponent, _
VBProj As VBIDE.VBProject, _
vbWin As VBIDE.Window
For Each VBProj In ActiveWorkbook.VBProject.VBE.VBProjects
If VBProj.Protection = vbext_pp_none Then
For Each VBComp In VBProj.VBComponents
If VBComp.Type = vbext_ct_StdModule Or _
VBComp.Type = vbext_ct_MSForm Then
Debug.Print VBComp.CodeModule.CodePane.Window.Caption
End If
Next VBComp
End If
Next VBProj
For Each vbWin In ActiveWorkbook.VBProject.VBE.Windows
If vbWin.Type = vbext_wt_Designer Then
vbWin.Close
End If
Next
End Sub
'--------------------------
Sub CloseAllModules()
' Jake Marx 8/9/01
Dim cp As CodePane
Dim vbc As VBComponent
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
A+
Bonjour à tous,
Avec VBA, je fais une copie d'un classeur tout en supprimant ses macros, sur
la base d'un code téléchargé sur excelabo. Sauf qu'aléatoirement il y a des
moments où la procédure ne fonctionne pas, sans que j'en trouve la raison.
J'ai alors observé que la procédure fonctionne plus sûrement en ouvrant
auparavent la fenêtre de code. Je l'ouvre de la façon suivante :
ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule.CodePane.Show
Mais je ne trouve pas le moyen de fermer cette fenêtre à la fin de la
procédure. (je ne souhaite pas seulement fermer la fenêtre de code du
module1, mais la fenêtre de tous les codes). Close et Hide sont refusés.
Quelle est la méthode qui pourrait réaliser ceci ?
Merci de votre aide.
Extrait de la bibliothèque de programmes du site de Frédéric Sigonneau
'fermer toutes les fenêtres des modules de code d'un projet (3 procédures)
'nécessite une référence à la bibliothèque 'Microsoft Visual Basic For Applications Extensibility 5.3
'------------------------------- Sub CloseAllVBEWindows() ' mpep ' Close all VB windows
Dim CodeWind As VBIDE.Window For Each CodeWind In Application.VBE.Windows If CodeWind.Type = vbext_wt_CodeWindow Then CodeWind.Close End If Next CodeWind
Dim Wind As Window For Each Wind In Application.Windows If Wind.Type = vbext_ct_MSForm Then Wind.Close End If Next Wind End Sub '------------------------------- Sub CloseAllCodeWindows()
' Tom Olgivy 6/6/01
Dim VBComp As VBIDE.VBComponent, _ VBProj As VBIDE.VBProject, _ vbWin As VBIDE.Window For Each VBProj In ActiveWorkbook.VBProject.VBE.VBProjects If VBProj.Protection = vbext_pp_none Then For Each VBComp In VBProj.VBComponents If VBComp.Type = vbext_ct_StdModule Or _ VBComp.Type = vbext_ct_MSForm Then Debug.Print VBComp.CodeModule.CodePane.Window.Caption End If Next VBComp End If Next VBProj For Each vbWin In ActiveWorkbook.VBProject.VBE.Windows If vbWin.Type = vbext_wt_Designer Then vbWin.Close End If Next
End Sub '-------------------------- Sub CloseAllModules() ' Jake Marx 8/9/01
Dim cp As CodePane Dim vbc As VBComponent
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 A+
Bonjour à tous, Avec VBA, je fais une copie d'un classeur tout en supprimant ses macros, sur la base d'un code téléchargé sur excelabo. Sauf qu'aléatoirement il y a des moments où la procédure ne fonctionne pas, sans que j'en trouve la raison. J'ai alors observé que la procédure fonctionne plus sûrement en ouvrant auparavent la fenêtre de code. Je l'ouvre de la façon suivante : ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule.CodePane.Show Mais je ne trouve pas le moyen de fermer cette fenêtre à la fin de la procédure. (je ne souhaite pas seulement fermer la fenêtre de code du module1, mais la fenêtre de tous les codes). Close et Hide sont refusés. Quelle est la méthode qui pourrait réaliser ceci ? Merci de votre aide.
Clément Marcotte
Bonjour,
À première vue, je ne sais pas. Sauf que je sais qu'il y a cet article (en anglais) chez Microsoft. D'un coup que cela te donnerait LA SOLUTION.
P.S. Je vais regarder plus tard, en fin de journée (chez moi)
--
On n' apprend pas à un vieux singe à faire des grimaces
"philip" <philip@discussions.microsoft.com> a écrit dans le message de
news:1D9A034E-AA86-42FD-BC96-1E7DB156DED8@microsoft.com...
Bonjour à tous,
Avec VBA, je fais une copie d'un classeur tout en supprimant ses
macros, sur
la base d'un code téléchargé sur excelabo. Sauf qu'aléatoirement il
y a des
moments où la procédure ne fonctionne pas, sans que j'en trouve la
raison.
J'ai alors observé que la procédure fonctionne plus sûrement en
ouvrant
auparavent la fenêtre de code. Je l'ouvre de la façon suivante :
Mais je ne trouve pas le moyen de fermer cette fenêtre à la fin de la
procédure. (je ne souhaite pas seulement fermer la fenêtre de code du
module1, mais la fenêtre de tous les codes). Close et Hide sont refusés.
Quelle est la méthode qui pourrait réaliser ceci ? Merci de votre aide.
Vincnet.
Bonjour, Je ne suis pas sûr d'avoir compris, mais pour fermer la fenêtre de VBE, j'utilise : Application.VBE.MainWindow.Visible = False
-- A+
V.
Bonjour à tous, Avec VBA, je fais une copie d'un classeur tout en supprimant ses macros, sur la base d'un code téléchargé sur excelabo. Sauf qu'aléatoirement il y a des moments où la procédure ne fonctionne pas, sans que j'en trouve la raison. J'ai alors observé que la procédure fonctionne plus sûrement en ouvrant auparavent la fenêtre de code. Je l'ouvre de la façon suivante : ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule.CodePane.Show Mais je ne trouve pas le moyen de fermer cette fenêtre à la fin de la procédure. (je ne souhaite pas seulement fermer la fenêtre de code du module1, mais la fenêtre de tous les codes). Close et Hide sont refusés. Quelle est la méthode qui pourrait réaliser ceci ? Merci de votre aide.
Bonjour,
Je ne suis pas sûr d'avoir compris, mais pour fermer la fenêtre de VBE,
j'utilise :
Application.VBE.MainWindow.Visible = False
--
A+
V.
Bonjour à tous,
Avec VBA, je fais une copie d'un classeur tout en supprimant ses macros, sur
la base d'un code téléchargé sur excelabo. Sauf qu'aléatoirement il y a des
moments où la procédure ne fonctionne pas, sans que j'en trouve la raison.
J'ai alors observé que la procédure fonctionne plus sûrement en ouvrant
auparavent la fenêtre de code. Je l'ouvre de la façon suivante :
ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule.CodePane.Show
Mais je ne trouve pas le moyen de fermer cette fenêtre à la fin de la
procédure. (je ne souhaite pas seulement fermer la fenêtre de code du
module1, mais la fenêtre de tous les codes). Close et Hide sont refusés.
Quelle est la méthode qui pourrait réaliser ceci ?
Merci de votre aide.
Bonjour, Je ne suis pas sûr d'avoir compris, mais pour fermer la fenêtre de VBE, j'utilise : Application.VBE.MainWindow.Visible = False
-- A+
V.
Bonjour à tous, Avec VBA, je fais une copie d'un classeur tout en supprimant ses macros, sur la base d'un code téléchargé sur excelabo. Sauf qu'aléatoirement il y a des moments où la procédure ne fonctionne pas, sans que j'en trouve la raison. J'ai alors observé que la procédure fonctionne plus sûrement en ouvrant auparavent la fenêtre de code. Je l'ouvre de la façon suivante : ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule.CodePane.Show Mais je ne trouve pas le moyen de fermer cette fenêtre à la fin de la procédure. (je ne souhaite pas seulement fermer la fenêtre de code du module1, mais la fenêtre de tous les codes). Close et Hide sont refusés. Quelle est la méthode qui pourrait réaliser ceci ? Merci de votre aide.
Alain CROS
Bonjour.
Application.VBE.MainWindow.Visible = False
Alain CROS
"philip" a écrit dans le message de news: | Bonjour à tous, | Avec VBA, je fais une copie d'un classeur tout en supprimant ses macros, sur | la base d'un code téléchargé sur excelabo. Sauf qu'aléatoirement il y a des | moments où la procédure ne fonctionne pas, sans que j'en trouve la raison. | J'ai alors observé que la procédure fonctionne plus sûrement en ouvrant | auparavent la fenêtre de code. Je l'ouvre de la façon suivante : | ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule.CodePane.Show | Mais je ne trouve pas le moyen de fermer cette fenêtre à la fin de la | procédure. (je ne souhaite pas seulement fermer la fenêtre de code du | module1, mais la fenêtre de tous les codes). Close et Hide sont refusés. | Quelle est la méthode qui pourrait réaliser ceci ? | Merci de votre aide.
Bonjour.
Application.VBE.MainWindow.Visible = False
Alain CROS
"philip" <philip@discussions.microsoft.com> a écrit dans le message de news: 1D9A034E-AA86-42FD-BC96-1E7DB156DED8@microsoft.com...
| Bonjour à tous,
| Avec VBA, je fais une copie d'un classeur tout en supprimant ses macros, sur
| la base d'un code téléchargé sur excelabo. Sauf qu'aléatoirement il y a des
| moments où la procédure ne fonctionne pas, sans que j'en trouve la raison.
| J'ai alors observé que la procédure fonctionne plus sûrement en ouvrant
| auparavent la fenêtre de code. Je l'ouvre de la façon suivante :
| ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule.CodePane.Show
| Mais je ne trouve pas le moyen de fermer cette fenêtre à la fin de la
| procédure. (je ne souhaite pas seulement fermer la fenêtre de code du
| module1, mais la fenêtre de tous les codes). Close et Hide sont refusés.
| Quelle est la méthode qui pourrait réaliser ceci ?
| Merci de votre aide.
"philip" a écrit dans le message de news: | Bonjour à tous, | Avec VBA, je fais une copie d'un classeur tout en supprimant ses macros, sur | la base d'un code téléchargé sur excelabo. Sauf qu'aléatoirement il y a des | moments où la procédure ne fonctionne pas, sans que j'en trouve la raison. | J'ai alors observé que la procédure fonctionne plus sûrement en ouvrant | auparavent la fenêtre de code. Je l'ouvre de la façon suivante : | ActiveWorkbook.VBProject.VBComponents("Module1").CodeModule.CodePane.Show | Mais je ne trouve pas le moyen de fermer cette fenêtre à la fin de la | procédure. (je ne souhaite pas seulement fermer la fenêtre de code du | module1, mais la fenêtre de tous les codes). Close et Hide sont refusés. | Quelle est la méthode qui pourrait réaliser ceci ? | Merci de votre aide.