Bonjour,
Pour insérer une macro dans une feuille nouvellement créée (puis supprimée), puis à nouveau supprimée, etc. au fur et à mesure de l'utilisation du document.
J'utilise cette macro :
Sub CreateWsEvenMacro()
Dim X%
With ActiveWorkbook.VBProject.VBComponents("VNEI (synthèse)").codeModule
X = .countOfLines
.insertLines X + 1, "Private Sub Worksheet_Activate()"
.insertLines X + 2, "If ImportData.Visible Then Unload ImportData"
.insertLines X + 3, "If UserForm1.Visible Then Unload UserForm1"
.insertLines X + 4, "If UserForm2.Visible Then Unload UserForm2"
.insertLines X + 5, "If UserForm3.Visible Then Unload UserForm3"
.insertLines X + 6, "End Sub"
End With
End Sub
Que j'ai trouvé ici :
https://forum.excel-pratique.com/viewtopic.php?t=53841
J'ai une erreur sur cette ligne :
With ActiveWorkbook.VBProject.VBComponents("VNEI (synthèse)").codeModule
Cela fonctionne si j'utilise le numéro d'une feuille (Feuil_1 ; Feuil_2 ; etc.), mais ça ne fonctionne pas si j'utilise le nom de la feuille.
Le problème, c'est que la feuille nouvellement créée possède un numéro variable. A chaque fois que ce code s'exécute, la feuille en question ne possède plus le bon numéro.
Savez-vous comment je devrais m'y prendre ?
Bonne journée