Merci pour la rapidité de la réponse.
Voici mon compte arrangé :
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 37
| If isSheetExist(catName) = False Then
'l'onglet n'existe pas on le crée
Set newSheet = Sheets.Add(, Worksheets(Worksheets.Count))
newSheet.name = catName
'Création du bouton
newSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=1, Top:=1, Width:=72, Height:=24). _
Select
X = ActiveSheet.OLEObjects.Count 'compter le nombre de boutons existants dans la feuille
'option nommer l'objet
ActiveSheet.OLEObjects(X).name = "GenerateXML"
'texte sur le bouton
ActiveSheet.OLEObjects(X).Object.Caption = "Generate XML"
'Céation du bout de code
NomClasseur = ActiveWorkbook.name
NomFeuil = ActiveSheet.name
LeCode(1) = "Sub GenerateXML_Click()"
LeCode(2) = " ModuleOngletsImportation.GenerateXML2"
LeCode(3) = "End Sub"
With ActiveWorkbook.VBProject.VBComponents(NomFeuil).CodeModule
For j = .CountOfLines To 1 Step -1
.DeleteLines j
DoEvents
Next
For j = 1 To UBound(LeCode)
.InsertLines j, LeCode(j)
Next
End With
'Workbooks(NomClasseur).Worksheets(2).Select
ActiveWindow.Zoom = 75
End If |
Par contre j'ai une erreur à l'exécution de cette commande :
With ActiveWorkbook.VBProject.VBComponents(NomFeuil).CodeModule
Et voici l'erreur que j'ai :
Erreur d'exécution '9'
L'indice n'appartien pas à la sélection
L'indice, je suppose que c'est "NomFeuil" mais il semble correct quand je l'affiche dans une MsgBox
Une idée sur la résolution de cette erreur ?
Merci d'avance.
Partager