Ajouter du code par le code
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 29
Citation:
l'indice n'appartient pas à la sélection.
Code:
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 |
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)
Merci d'avance de vos idées ?