salut,
merci si vous pouvez m'aider car je cherche depuis plusieurs jours....
j'ai un textbox dans un userform et quand l'utilisateur rentre un nombre N, il apparait automatiquement N commandbutton (sur l'évènement "change"). Mais je voudrais affecter un code à ces bouttons à l'évènement "click". J'ai fait une recherche sur le forum et j'ai trouvé ceci qui aurait pu m'aider mais ça marche pas ....
Le code utilisé est le suivant :
Public Sub AfficherUSF()
Dim USF
Dim Ctrl As CommandButton
Dim Code As String
'Créer le nouveau bouton
Set USF = ThisWorkbook.VBProject.VBComponents("UserForm1")
Set Ctrl = USF.Designer.Controls.Add("forms.CommandButton.1")
With Ctrl
.Name = "OKButton"
.Caption = "OK"
End With
' Créer le code associé au nouveau bouton
Code = "Private Sub OKButton_Click()" & vbCrLf
Code = Code & "MsgBox ""Coucou XLD""" & vbCrLf
Code = Code & "End Sub"
With USF.CodeModule
.InsertLines .CountOfLines + 1, Code
End With
'Affiche le USF
VBA.UserForms.Add(USF.Name).Show
'Supprime le bouton créé dynamiquement
USF.Designer.Controls.Remove "OKButton"
With USF.CodeModule
.deleteLines 2, 3
End With
End Sub
J'ai juste fait un copier coller dans un module mais à l'éxécution, il me dit que plein de choses n'existent pas ex: codemodule, designer, insertlines etc...
Merci si vous connaissez la réponse à ce pb ou alors proposez une autre méthode