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 : 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
 
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
ajouterCodeFeuille "evt_feuil2","Feuil2"
instanciateForm
Le userForm s'ouvre et se ferme instantanément (on voit un petit clignotement)
mystère...