Bonjour,
Voici mon problème :
Je cherche à créer un nouveau classeur à partir d'un premier et y ajouter un CommandButton qui appelle un userform qui lui même appelle un module.
La création du bouton dans le nouveau classeur fonctionne.
Cependant, je n'arrive pas à insérer le simple code Userform4.show sur CommandButton_Click, ni à importer l'userform et le module.
Voici le code trouvé sur plusieurs forums pour écrire la maccro dans le nouveau bouton :
et le code pour le module et l'userform qui fonctionne pour quelqu'un mais pas pour moi
vclasseur est le nom du nouveau classeur créé et ANNUAIRE ST est celui qui contient l'userform 4 et le module 5
Avez vous une idée du pourquoi du comment? ça fait un petit bout de temps que je cherche et je ne trouve rien vu que ces codes ne provoquent pas d'erreur et ont l'air de marcher pour les autres.
Merci pour votre aide
Voici mon problème :
Je cherche à créer un nouveau classeur à partir d'un premier et y ajouter un CommandButton qui appelle un userform qui lui même appelle un module.
La création du bouton dans le nouveau classeur fonctionne.
Cependant, je n'arrive pas à insérer le simple code Userform4.show sur CommandButton_Click, ni à importer l'userform et le module.
Voici le code trouvé sur plusieurs forums pour écrire la maccro dans le nouveau bouton :
Dim oWs As Worksheet
Dim oOLE As OLEObject
Dim code As String
Dim iX As Integer
Dim x As Integer
For page = 1 To vclasseur.Sheets.Count
iX = page
code = "Private Sub CommandButton" & iX & "_Click()" & vbCrLf
code = code & "UserForm4.Show" & vbCrLf
code = code & "End Sub"
Set oWs = Sheets(page)
Set oOLE = oWs.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Left:=700, Top:=0, Width:=80, Height:=32)
With oOLE
.Object.Caption = "MAILING"
.Name = "CommandButton" & iX
End With
vclasseur.Sheets(page).Activate
With ThisWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule
x = .CountOfLines + 1
.InsertLines x, code
End With Problème ici mais pas d'erreur juste rien ne se passe
Next
et le code pour le module et l'userform qui fonctionne pour quelqu'un mais pas pour moi
'copie userform
Workbooks("ANNUAIRE ST.xls").VBProject.VBComponents.Item("UserForm4").Export ("D:\temp.frm")
vclasseur.VBProject.VBComponents.Import ("D:\temp.frm")
Kill ("D:\temp.frm")
Kill ("D:\temp.frx")
'copie du module
Workbooks("ANNUAIRE ST.xls").VBProject.VBComponents.Item("Module5").Export ("D:\temp.bas")
vclasseur.VBProject.VBComponents.Import ("D:\temp.bas")
Kill ("D:\temp.bas")
vclasseur est le nom du nouveau classeur créé et ANNUAIRE ST est celui qui contient l'userform 4 et le module 5
Avez vous une idée du pourquoi du comment? ça fait un petit bout de temps que je cherche et je ne trouve rien vu que ces codes ne provoquent pas d'erreur et ont l'air de marcher pour les autres.
Merci pour votre aide
Dernière édition: