PoluxDaboss
Messages postés3Date d'inscriptionlundi 9 juillet 2007StatutMembreDernière intervention10 juillet 2007
-
9 juil. 2007 à 20:22
PoluxDaboss
Messages postés3Date d'inscriptionlundi 9 juillet 2007StatutMembreDernière intervention10 juillet 2007
-
10 juil. 2007 à 19:35
Bonjour,
Je vous solicite car j'ai un gros souci. En faite je cherche a ce que un userform est un bouton de création de boutons dans une feuille excel. J'ai chercher pas mal sur le net, mais aparament aucun n'a mon souci.
Voici mon code:
Public Sub crea_bouton(nom)
Dim ws As Worksheet
Set ws = Worksheets("Feuil1")
'Création du bouton
Dim s As Shape
With ws
Set s = .Shapes.AddOLEObject(ClassType:="Forms.CommandButton.1")
s.Name = nom
.OLEObjects(nom).Object.Caption = nom
End With
'Création du code
With ThisWorkbook.VBProject.VBComponents("Feuil1")
.CodeModule.InsertLines .CodeModule.CountOfLines + 1, "private sub " & nom & "_Click()"
.CodeModule.InsertLines .CodeModule.CountOfLines + 1, " msgbox(""ok"")"
.CodeModule.InsertLines .CodeModule.CountOfLines + 1, "end sub"
End With
End Sub
En faite si je lance cette procédure a partir d'un bouton sur la feuile, je n'est aucun problème, mais si je le lance a partir d'un bouton dans un useform, excel plante losrque je sors du userform (avec me.hide autant que avec unload me). Si je fait que la création de code, ou que la création de bouton j'ai pas de problème.
Si vous avez la solution ce serais super.
Merci d'avance
Ps: VB extensibility x. je ne sais plus combien est bien activé dans les références.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 10 juil. 2007 à 08:04
Salut,
Je viens de testé ton code chez moi et il fonctionne.
Pour approfondir, il serait bon de savoir exactement QUAND décharges tu ton userform?
quelle version d'Excel utilises tu (=> et donc de Windows)
j'ai testé sous W2K et Excel d'office 2000 et je n'ai eu aucun problèmes les boutons se créés (certes au meme endroit mais ca marche)
PoluxDaboss
Messages postés3Date d'inscriptionlundi 9 juillet 2007StatutMembreDernière intervention10 juillet 2007 10 juil. 2007 à 19:35
Bonjour, et merci pou ces réponses.
J'ai tester sur vista, et sur xp, avec excel 2003.
Le userform je le décharge lors de la fermeture du userform (avec un bouton "annuler" qui fait que unload me), en faite pour tester jai juste fait un bouton qui lance ma procédure (avec un inputbox pour le nom avant) et celui de fermeture. Toi tu ne plante pas meme si tu fait plusieurs créations de boutons puis fermeture du userform apres?
Sinon si je sors avec les croix, sa a laire de marcher, la croix et unload me ça fait pas la meme chose?