Bonjour,
J'utilise actuellement ce code afin de générer une case à cocher sur tous mes onglets :
Ces cases activent la macro suivante :
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 Sub Creation_bouton() Dim PosG As Integer Dim PosH As Integer Dim Hauteur As Integer Dim Longueur As Integer Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets ws.Activate 'Position en fonction d'une cellule With Range("E1") PosG = .Left PosH = .Top Hauteur = .Height Longueur = .Width End With With ActiveSheet.CheckBoxes .Add(PosG, PosH, Longueur, Hauteur).Select .OnAction = "cmdCacherAfficher_Click" .Caption = "2015" End With Next ws End Sub
Lorsque je veux créer une 2e case j'utilise le même code en modifiant la cellule de destination :
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 Private Sub cmdCacherAfficher_Click() With Range("F1:F1").EntireColumn .Hidden = Not .Hidden End With With Range("I1:I1").EntireColumn .Hidden = Not .Hidden End With With Range("G1:G1").EntireColumn .Hidden = Not .Hidden End With With Range("j1:J1").EntireColumn .Hidden = Not .Hidden End With End Sub
Cela se génère bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Sub Creation1_bouton() ... With Range("H1") ... End Sub
Mais je dois aussi changer le nom et elles doivent activer une autre macro. Lorsque je change quelque chose sur ces lignes :
A ce moment la les cases à cocher se génèrent par dessus la première case à cocher...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub Creation1_bouton() ... ... .OnAction = "cmdCacherAfficher1_Click" .Caption = "2014" ... End Sub
Je n'arrive pas à comprendre pourquoi.
Partager