|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2008
Messages: 50
|
Re
Bon j'ai essayé mais ca ne veux pas voici mon code test qui doit supprimer les macros de la feuille 1 se nommant monBouton1_Click(), monBouton2_Click(),....... monBouton25_Click(), Code :
Sub Bouton223_QuandClic() Dim Debut As Integer, Lignes As Integer Dim NomMacro As String NomMacro = "monBouton" & i For i = 1 To 25 With ThisWorkbook.VBProject.VBComponents("Feuil1").CodeModule Debut = .ProcStartLine(NomMacro, 0) Lignes = .ProcCountLines(NomMacro, 0) .DeleteLines Debut, Lignes End With Next i End Sub total erreur d'execution '35' sub ou fonction non definie a la ligne Code :
Debut = .ProcStartLine(NomMacro, 0) |
|
|
|
|
|
#3 | |
|
Inactif(ve)
Date d'inscription: février 2005
Localisation: 45,10 N 5,43 E
Messages: 12 494
|
Je ne comprends pas ton code
Tu mets Citation:
|
|
|
|
|
|
|
#4 |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2008
Messages: 50
|
re
oui la reference en question est bien activée sur vba en ce qui concerne le Code :
NomMacro = "monBouton" & i
private sub monBouton1_Click(), private sub monBouton2_Click(), . . . private sub monBoutoni_Click(), Voila j'espere avoir repondu a vos question |
|
|
|
|
|
#5 |
![]() |
Bonjour
Je crois que tu n'as pas compris ce que te disait ouskel'n'or ![]() La ligne Code :
NomMacro = "monBouton" & i
De plus il s'agit de procédure évènementielle sur des boutons, hors juste en mettant le nom du bouton et son numéro, cela ne devrait pas passer (en théorie), il faut une concaténation avec le click (à vérifier). Philippe
__________________
En cas de questions techniques par MP ou message visiteur ![]() Vous pouvez consultez mes articles sur Access et PowerPoint Si vous avez des réalisations à faire sur le pack Office Découvrez les nouveautés de PowerPoint 2010 Utilisez les pièces jointes avec parcimonie. |
|
|
|
|
#6 |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2008
Messages: 50
|
re
bon j'ai essayé ca Code :
Sub Bouton223_QuandClic() Dim Debut As Integer, Lignes As Integer Dim NomMacro As String NomMacro = "monBouton" & i For i = 1 To 25 NomMacro = "Sub monBouton" & i & "_Click()" With ThisWorkbook.VBProject.VBComponents("Feuil1").CodeModule Debut = .ProcStartLine(NomMacro, 0) Lignes = .ProcCountLines(NomMacro, 0) .DeleteLines Debut, Lignes End With Next i End Sub puis ca Code :
Sub Bouton223_QuandClic() Dim Debut As Integer, Lignes As Integer Dim NomMacro As String NomMacro = "monBouton" & i For i = 1 To 25 NomMacro = "monBouton" & i & "_Click()" With ThisWorkbook.VBProject.VBComponents("Feuil1").CodeModule Debut = .ProcStartLine(NomMacro, 0) Lignes = .ProcCountLines(NomMacro, 0) .DeleteLines Debut, Lignes End With Next i End Sub sub ou fonction non définie a la ligne Code :
Debut = .ProcStartLine(NomMacro, 0) Voila ou j'en suis |
|
|
|
|
|
#7 |
|
Inactif(ve)
Date d'inscription: février 2005
Localisation: 45,10 N 5,43 E
Messages: 12 494
|
Et si tu nous disais ce que tu veux obtenir, au bout du bout... Il y a peut-être une solution à laquelle tu n'as pas songé... Comme supprimer l'userform par exemple.
Pendant que j'y pense, ils sont où tes boutons ? |
|
|
|
|
|
#8 |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2008
Messages: 50
|
re
alors ayant precedemment reussi a creer dynamiquement des bouton avec macro associé grace a vous tous encore merci ces boutons se nomment VOIR0, VOIR1 ..... VOIRi Seulement ces boutons sont supprimés dynamiquement grace a vous encore merci mais la suppression dynamique ne supprime pas les macros associées a savoir Sub VOIR0_Click(), Sub VOIR1_Click() , Sub VOIRi_Click() alors quand les boutons sont recrées il ya un conflit a cause de ces procedures qui portent le meme nom d'ou le pb de supprimer dans le code les procédures Tout se passe dans une feuille et pas dans un userform voila merci |
|
|
|
|
|
#9 |
|
Inactif(ve)
Date d'inscription: février 2005
Localisation: 45,10 N 5,43 E
Messages: 12 494
|
Ok. Et si tu adaptes bêhêhêhêtemement le code de la FAQ, ça donne ça qui chez moi fonctionne.
J'ai placé trois boutons sur une feuille de calculs Le troisième me sert pour effacer les macros des deux autres Code :
Private Sub CommandButton3_Click() Dim NomMacro As String, Wb As Workbook 'Nécessite d'activer la référence '"Visual basic For Application Extensibility 5.3" Set Wb = Workbooks("Classeur1.xls") For i = 1 To 2 NomMacro = "CommandButton" & i & "_Click" SupprimerMacroPrecise Wb, "Feuil1", NomMacro Next End Sub Code :
'où mdl est le module de feuil1 Sub SupprimerMacroPrecise(Wb As Workbook, Mdl As String, NomMacro As String) Dim Debut As Integer, Lignes As Integer With Wb.VBProject.VBComponents(Mdl).CodeModule Debut = .ProcStartLine(NomMacro, 0) Lignes = .ProcCountLines(NomMacro, 0) .DeleteLines Debut, Lignes End With End Sub Bon après-midi |
|
|
|
|
|
#10 |
|
Nouveau membre du Club
![]() Date d'inscription: janvier 2008
Messages: 50
|
un grand merci a tous pour vos infos
desolé je ne suis qu'apprenti developpeur (c'est quelquechose que je refoulais) mais j'ai été obligé de m'adonner au vba et je dois dire qu'avec ce projet de masque de saisie et l'énorme aide de ce forum je m'aperçois qu'on peut réaliser des interfaces sympatiques Merci et a bientot pour de nouvelles aventures |
|
|
|
|
|
![]() |
||
[XL-2003] suppression de macros par macro
|
||
| Outils de la discussion | |
|
|