Bonjour,
Je ne comprends pas, je n'arrive pas à faire fonctionner ce code qui doit
être lancé sur clique bouton.
J'ai le message sur la ligne 29l'indice n'appartient pas à la sélection.Bizarrement il m'ajoute des nouvelles feuilles comme demandé mais dont le nom est Feuil33 alors que j'ai supprimé des feuilles précédentes. ( Feuil31,Feuil32)
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
32
33
34
35
36 Dim Ws As Worksheet Dim Obj As OLEObject Dim laMacro As String Dim x As Integer 'Ajout feuille Sheets.Add After:=Sheets("Bon de Commande") Set Ws = ActiveSheet Debug.Print "Feuille en cours etape 1" & Ws.Name 'Ajout CommandButton dans la feuille Set Obj = Ws.OLEObjects.Add("Forms.CommandButton.1") With Obj .Left = 50 'position horizontale .Top = 50 'position verticale .Width = 140 'largeur .Height = 30 'hauteur .Object.BackColor = RGB(235, 235, 200) 'Couleur de fond .Object.Caption = "Action" End With 'Paramètres pour la création de la macro: '(suppression contenu cellules) laMacro = "Sub CommandButton1_Click()" & vbCrLf laMacro = laMacro & "Msgbox Ok" & vbCrLf laMacro = laMacro & "End Sub" 'ActiveSheet.Name = "Fiche Tarifaire Valideur" Debug.Print "Feuille en cours etape 2" & Ws.Name With ActiveWorkbook.VBProject.VBComponents(Ws.Name).CodeModule x = .CountOfLines + 1 .InsertLines x, laMacro End With ' ActiveSheet.Name = "Fiche Tarifaire Valideur" End Sub
Merci d'avance de vos idées ?
Partager