je souhaite supprimer un userform et un module par du code. Pour ce faire,
j'ai trouvé ces codes, mais je ne parviens pas à les faire fonctionner :
- pour les userforms
Sub EffaceUserForm(MonUserForm As String)
ActiveWorkbook.VBProject.VBComponents.Remove
ActiveWorkbook.VBProject.VBComponents(MonUserForm)
End Sub
- pour les modules
Sub SuppModule(nModule As String)
Dim VBC As VBComponent
With ActiveWorkbook.VBProject
For Each VBC In .VBComponents
If VBC.Name = nModule Then .VBComponents.Remove VBC
Next VBC
End With
End Sub
J'en appel aux pros pour que lon m'explique où placer ces codes et de quelle
façon doit on compléter les arguments.
NB : est il possible d'autosupprimer un module avec ce dernier code ?
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
michdenis
Bonjour Rejete,
Je te propose la procédure suivante : Elle est valide pour tous les types de modules qu'un projet VBA peut contenir.
Les userform, module standard, module de classe, la procédure les supprime.
Pour le code contenu dans les modules feuilles et dans le ThisWorkbook, elle fait disparaître tout le code.
Pour appeler la procédure principale, tu exécutes la procédure Test. '---------------------------- Sub Test()
'ThisWorkbook = le classeur en cours ( actif) 'Si c'est un autre classeur ouvert, tu écris : SupprimeCode Workbooks("Classeur.xls"), "userform1" 'userform1 -> est le nom du module ou du formulaire à supprimer
SupprimeCode ThisWorkbook, "userform1"
End Sub
'---------------------------- Sub SupprimeCode(Wk As Workbook, Module As String)
Dim VBComps As Object Set VBComps = Wk.VBProject.VBComponents With VBComps(Module) Select Case .Type Case 100 With .CodeModule .DeleteLines 1, .CountOfLines End With Case Else VBComps.Remove VBComps(Module) End Select End With
End Sub '----------------------------
Salutations!
"Rejete" a écrit dans le message de news: Bonjour à tous,
je souhaite supprimer un userform et un module par du code. Pour ce faire, j'ai trouvé ces codes, mais je ne parviens pas à les faire fonctionner :
- pour les userforms
Sub EffaceUserForm(MonUserForm As String) ActiveWorkbook.VBProject.VBComponents.Remove ActiveWorkbook.VBProject.VBComponents(MonUserForm) End Sub
- pour les modules
Sub SuppModule(nModule As String) Dim VBC As VBComponent With ActiveWorkbook.VBProject For Each VBC In .VBComponents If VBC.Name = nModule Then .VBComponents.Remove VBC Next VBC End With End Sub
J'en appel aux pros pour que lon m'explique où placer ces codes et de quelle façon doit on compléter les arguments.
NB : est il possible d'autosupprimer un module avec ce dernier code ?
Merci d'avance à tous
Bonjour Rejete,
Je te propose la procédure suivante : Elle est valide
pour tous les types de modules qu'un projet VBA
peut contenir.
Les userform, module standard, module de classe, la
procédure les supprime.
Pour le code contenu dans les modules feuilles et dans le
ThisWorkbook, elle fait disparaître tout le code.
Pour appeler la procédure principale, tu exécutes
la procédure Test.
'----------------------------
Sub Test()
'ThisWorkbook = le classeur en cours ( actif)
'Si c'est un autre classeur ouvert, tu écris :
SupprimeCode Workbooks("Classeur.xls"), "userform1"
'userform1 -> est le nom du module ou du formulaire à supprimer
SupprimeCode ThisWorkbook, "userform1"
End Sub
'----------------------------
Sub SupprimeCode(Wk As Workbook, Module As String)
Dim VBComps As Object
Set VBComps = Wk.VBProject.VBComponents
With VBComps(Module)
Select Case .Type
Case 100
With .CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComps(Module)
End Select
End With
End Sub
'----------------------------
Salutations!
"Rejete" <marcolet.pierre@free.fr> a écrit dans le message de news: uTsvGX8HGHA.1088@tk2msftngp13.phx.gbl...
Bonjour à tous,
je souhaite supprimer un userform et un module par du code. Pour ce faire,
j'ai trouvé ces codes, mais je ne parviens pas à les faire fonctionner :
- pour les userforms
Sub EffaceUserForm(MonUserForm As String)
ActiveWorkbook.VBProject.VBComponents.Remove
ActiveWorkbook.VBProject.VBComponents(MonUserForm)
End Sub
- pour les modules
Sub SuppModule(nModule As String)
Dim VBC As VBComponent
With ActiveWorkbook.VBProject
For Each VBC In .VBComponents
If VBC.Name = nModule Then .VBComponents.Remove VBC
Next VBC
End With
End Sub
J'en appel aux pros pour que lon m'explique où placer ces codes et de quelle
façon doit on compléter les arguments.
NB : est il possible d'autosupprimer un module avec ce dernier code ?
Je te propose la procédure suivante : Elle est valide pour tous les types de modules qu'un projet VBA peut contenir.
Les userform, module standard, module de classe, la procédure les supprime.
Pour le code contenu dans les modules feuilles et dans le ThisWorkbook, elle fait disparaître tout le code.
Pour appeler la procédure principale, tu exécutes la procédure Test. '---------------------------- Sub Test()
'ThisWorkbook = le classeur en cours ( actif) 'Si c'est un autre classeur ouvert, tu écris : SupprimeCode Workbooks("Classeur.xls"), "userform1" 'userform1 -> est le nom du module ou du formulaire à supprimer
SupprimeCode ThisWorkbook, "userform1"
End Sub
'---------------------------- Sub SupprimeCode(Wk As Workbook, Module As String)
Dim VBComps As Object Set VBComps = Wk.VBProject.VBComponents With VBComps(Module) Select Case .Type Case 100 With .CodeModule .DeleteLines 1, .CountOfLines End With Case Else VBComps.Remove VBComps(Module) End Select End With
End Sub '----------------------------
Salutations!
"Rejete" a écrit dans le message de news: Bonjour à tous,
je souhaite supprimer un userform et un module par du code. Pour ce faire, j'ai trouvé ces codes, mais je ne parviens pas à les faire fonctionner :
- pour les userforms
Sub EffaceUserForm(MonUserForm As String) ActiveWorkbook.VBProject.VBComponents.Remove ActiveWorkbook.VBProject.VBComponents(MonUserForm) End Sub
- pour les modules
Sub SuppModule(nModule As String) Dim VBC As VBComponent With ActiveWorkbook.VBProject For Each VBC In .VBComponents If VBC.Name = nModule Then .VBComponents.Remove VBC Next VBC End With End Sub
J'en appel aux pros pour que lon m'explique où placer ces codes et de quelle façon doit on compléter les arguments.
NB : est il possible d'autosupprimer un module avec ce dernier code ?
Merci d'avance à tous
Rejete
Merci infiniment ! ça fonctionne nickel.
"michdenis" a écrit dans le message de news:
Bonjour Rejete,
Je te propose la procédure suivante : Elle est valide pour tous les types de modules qu'un projet VBA peut contenir.
Les userform, module standard, module de classe, la procédure les supprime.
Pour le code contenu dans les modules feuilles et dans le ThisWorkbook, elle fait disparaître tout le code.
Pour appeler la procédure principale, tu exécutes la procédure Test. '---------------------------- Sub Test()
'ThisWorkbook = le classeur en cours ( actif) 'Si c'est un autre classeur ouvert, tu écris : SupprimeCode Workbooks("Classeur.xls"), "userform1" 'userform1 -> est le nom du module ou du formulaire à supprimer
SupprimeCode ThisWorkbook, "userform1"
End Sub
'---------------------------- Sub SupprimeCode(Wk As Workbook, Module As String)
Dim VBComps As Object Set VBComps = Wk.VBProject.VBComponents With VBComps(Module) Select Case .Type Case 100 With .CodeModule .DeleteLines 1, .CountOfLines End With Case Else VBComps.Remove VBComps(Module) End Select End With
End Sub '----------------------------
Salutations!
"Rejete" a écrit dans le message de news:
Bonjour à tous,
je souhaite supprimer un userform et un module par du code. Pour ce faire, j'ai trouvé ces codes, mais je ne parviens pas à les faire fonctionner :
- pour les userforms
Sub EffaceUserForm(MonUserForm As String) ActiveWorkbook.VBProject.VBComponents.Remove ActiveWorkbook.VBProject.VBComponents(MonUserForm) End Sub
- pour les modules
Sub SuppModule(nModule As String) Dim VBC As VBComponent With ActiveWorkbook.VBProject For Each VBC In .VBComponents If VBC.Name = nModule Then .VBComponents.Remove VBC Next VBC End With End Sub
J'en appel aux pros pour que lon m'explique où placer ces codes et de quelle façon doit on compléter les arguments.
NB : est il possible d'autosupprimer un module avec ce dernier code ?
Merci d'avance à tous
Merci infiniment !
ça fonctionne nickel.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
eYHVzl9HGHA.2212@TK2MSFTNGP15.phx.gbl...
Bonjour Rejete,
Je te propose la procédure suivante : Elle est valide
pour tous les types de modules qu'un projet VBA
peut contenir.
Les userform, module standard, module de classe, la
procédure les supprime.
Pour le code contenu dans les modules feuilles et dans le
ThisWorkbook, elle fait disparaître tout le code.
Pour appeler la procédure principale, tu exécutes
la procédure Test.
'----------------------------
Sub Test()
'ThisWorkbook = le classeur en cours ( actif)
'Si c'est un autre classeur ouvert, tu écris :
SupprimeCode Workbooks("Classeur.xls"), "userform1"
'userform1 -> est le nom du module ou du formulaire à supprimer
SupprimeCode ThisWorkbook, "userform1"
End Sub
'----------------------------
Sub SupprimeCode(Wk As Workbook, Module As String)
Dim VBComps As Object
Set VBComps = Wk.VBProject.VBComponents
With VBComps(Module)
Select Case .Type
Case 100
With .CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComps(Module)
End Select
End With
End Sub
'----------------------------
Salutations!
"Rejete" <marcolet.pierre@free.fr> a écrit dans le message de news:
uTsvGX8HGHA.1088@tk2msftngp13.phx.gbl...
Bonjour à tous,
je souhaite supprimer un userform et un module par du code. Pour ce faire,
j'ai trouvé ces codes, mais je ne parviens pas à les faire fonctionner :
- pour les userforms
Sub EffaceUserForm(MonUserForm As String)
ActiveWorkbook.VBProject.VBComponents.Remove
ActiveWorkbook.VBProject.VBComponents(MonUserForm)
End Sub
- pour les modules
Sub SuppModule(nModule As String)
Dim VBC As VBComponent
With ActiveWorkbook.VBProject
For Each VBC In .VBComponents
If VBC.Name = nModule Then .VBComponents.Remove VBC
Next VBC
End With
End Sub
J'en appel aux pros pour que lon m'explique où placer ces codes et de
quelle
façon doit on compléter les arguments.
NB : est il possible d'autosupprimer un module avec ce dernier code ?
Je te propose la procédure suivante : Elle est valide pour tous les types de modules qu'un projet VBA peut contenir.
Les userform, module standard, module de classe, la procédure les supprime.
Pour le code contenu dans les modules feuilles et dans le ThisWorkbook, elle fait disparaître tout le code.
Pour appeler la procédure principale, tu exécutes la procédure Test. '---------------------------- Sub Test()
'ThisWorkbook = le classeur en cours ( actif) 'Si c'est un autre classeur ouvert, tu écris : SupprimeCode Workbooks("Classeur.xls"), "userform1" 'userform1 -> est le nom du module ou du formulaire à supprimer
SupprimeCode ThisWorkbook, "userform1"
End Sub
'---------------------------- Sub SupprimeCode(Wk As Workbook, Module As String)
Dim VBComps As Object Set VBComps = Wk.VBProject.VBComponents With VBComps(Module) Select Case .Type Case 100 With .CodeModule .DeleteLines 1, .CountOfLines End With Case Else VBComps.Remove VBComps(Module) End Select End With
End Sub '----------------------------
Salutations!
"Rejete" a écrit dans le message de news:
Bonjour à tous,
je souhaite supprimer un userform et un module par du code. Pour ce faire, j'ai trouvé ces codes, mais je ne parviens pas à les faire fonctionner :
- pour les userforms
Sub EffaceUserForm(MonUserForm As String) ActiveWorkbook.VBProject.VBComponents.Remove ActiveWorkbook.VBProject.VBComponents(MonUserForm) End Sub
- pour les modules
Sub SuppModule(nModule As String) Dim VBC As VBComponent With ActiveWorkbook.VBProject For Each VBC In .VBComponents If VBC.Name = nModule Then .VBComponents.Remove VBC Next VBC End With End Sub
J'en appel aux pros pour que lon m'explique où placer ces codes et de quelle façon doit on compléter les arguments.
NB : est il possible d'autosupprimer un module avec ce dernier code ?