souci manip de codemodule puis userform
Bonjour,
Je réalise una appli dans laquelle une feuille est crée, puis du code est copié sur cette feuille, et enfin un userForm est ouvert.
voici le code que j'utilise pour copier le code d'un module (source) vers une feuille (dest)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Public Function ajouterCodeFeuille(source As String, dest As String)
'pour retirer le souci du codeName vide.
If Sheets(dest).codeName = "" Then
Dim oVBProj As Object
Set oVBProj = ThisWorkbook.VBProject
Set oVBProj = Nothing
End If
Dim feuilleCodeName As String
feuilleCodeName = Sheets(dest).codeName
Dim modObj As Object
With Workbooks("CostReg.xla")
Set modObj = .VBProject.VBComponents.Item(source)
End With
strCode = modObj.CodeModule.Lines(1, modObj.CodeModule.CountOfLines)
ActiveWorkbook.VBProject.VBComponents(feuilleCodeName).CodeModule.AddFromString (strCode)
End Function |
Et ici la fonction pour instancier mon userForm:
Code:
1 2 3 4 5 6
|
Function instanciateForm()
Dim f As DefPara
Set f = New DefPara
f.show
End Function |
Ces deux fonctions utilisés indépendamment fonctionne à merveille.
Par contre si je les utilisent toutes les deux à la suite, comme là:
Code:
1 2 3
|
ajouterCodeFeuille "evt_feuil2","Feuil2"
instanciateForm |
Le userForm s'ouvre et se ferme instantanément (on voit un petit clignotement)
mystère...