Bonjour à tous,
Je souhaiterais avoir quelques conseils sur un problème :
En réponse à un événement quelconque, par exemple un clic bouton, je veux créér N boutons ("Bouton1" ... "BoutonN") et leur associer N macros ("Bouton1_click" ... "BoutonN_click")
Sur ma feuille excel, existent deux boutons, le premier déclenche la macro Evenement_click et le second Bouton0, est un CommandButton.
L'idée est de recopier ce Bouton0 existant, de changer son nom et de créer sa macro associée dans le code.
Les blocs BLOC1 et BLOC2 fonctionnent parfaitement indépendemment l'un de l'autre, mais dès qu'ils sont activés ensemble, excel plante sans message d'erreur. J'avoue avoir du mal à comprendre la logique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Sub Evenement_click() Dim WbClasseur As Workbook 'Marqueur d'affichage Dim IntLigneCourante As Integer '-------------------------------------------------- IntLigneCourante = 10 N = 2 Set WbClasseur = Workbooks("Classeur.xls") For i = 1 To N '****** BLOC1 ****** 'Gestion des boutons Worksheets("Sheet1").Shapes("Bouton0").Select Selection.Copy Worksheets("Sheet1").Range("F" & IntLigneCourante).Select Worksheets("Sheet1").Paste Selection.Name = "Bouton" & i Worksheets("Sheet1").Range("F18").Select IntLigneCourante = IntLigneCourante + 1 '****************** '****** BLOC2 ****** 'Gestion des macros associées With WbClasseur.VBProject.VBComponents("Feuil1").CodeModule x = .CountOfLines .InsertLines x + 1, "Sub Bouton" & i & "_Click()" .InsertLines x + 2, " " .InsertLines x + 3, "End Sub" End With '****************** Next i End Sub
Par avance, merci de votre aide.
Vorillyan
Partager