creer bouton et son code en VBA RESOLU

greg62200

XLDnaute Nouveau
re bonjour le forum ou mieux, bonsoir :)

me revoila mais je vous promets je fais des progres ...
ce soir je bute sur le code d'un bouton
voila le probleme :

mon usf copie une feuille et la colle dans une nouvelle feuille, je remplis qques cellules et je crees un bouton ds la nouvelle feuille
j'arrive a nommer le bouton, lui donner son "caption" mais pas a lui donner son code
le code est tres simple, ca doit etre "nvprod.show"
voila mon bout de code

Code:
' on cree le bouton
Sheets("" & NomFeuille).Buttons.Add(120, 120, 100, 20).Select
    ' on le nomme
    Selection.Name = "Nvprod"
    ' on lui met un caption
    Selection.Characters.Text = "Nouveau Produit"
    ' on lui assigne le code nvprod.show
    ???????????????

quelqu'un a une idee svp ?
 
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : creer bouton et son code en VBA

Bonjour Greg,

Je pense que tu vas avoir ainsi plusieurs boutons à construire.
J'ai écris il y a quelques temps déjà une appli créant des boutons à la demande, pour avoir un code plus efficace et plus clair , j'ai écris une routine spécifique, la voici simplifiée.

Pour l'userform tu ne peux pas directement le lier au bouton , il faut passer par une macro intermédiaire que voici

Code:
Option Explicit

Sub Formulaire()
 nvprod.Show
End Sub

Ici, c'est donc la routine spécialisée dans la création de bouton ( Voir en dessous l'appel)

Code:
Sub CreationBouton(Nom As String, Gauche As Long, Haut As Long, Largeur As Long, Hauteur As Long, action As String)
Dim NomBouton As String
'Limite la longueur du nom de bouton au maxi autorisé
 NomBouton = Left(Nom, 30)
   'Ajout d'un bouton sur feuille active
   ActiveSheet.Buttons.Add(Gauche, Haut, Largeur, Hauteur).Select
     'Définition
      With Selection
      'du Nom
       .Name = NomBouton
      'du nom de façade
       .Characters.Text = Nom
      'du mode d'attachement au cellule
       .Placement = xlFreeFloating
      'le bouton est il imprimable
       .PrintObject = True
      'Macro associée au bouton
       .OnAction = action
      End With
    ActiveSheet.Shapes(NomBouton).Select
End Sub

Et donc ici , un exemple d'appel de la routine de construction de bouton clef en main
ATTENTION, il faut avoir créé les userforms et les routines Formulaire et formulaire2 ou bien modifier leurs nom dans le code

Code:
Sub décors()
ThisWorkbook.Activate
Sheets("Feuil1").Activate
'Création d'un bouton Banane situé à 100, 100 de largeur 90 et de hauteur 20, Macro = Formulaire
CreationBouton "Banane", 130, 100, 90, 20, "Formulaire"
CreationBouton "Pomme", 130, 150, 90, 20, "Formulaire2" 
End Sub
 

greg62200

XLDnaute Nouveau
Re : creer bouton et son code en VBA

merci camarchepas, ca marche impec :)

pour ceux qui cherchent je completerai juste avec ces qques explications supplementaires

le sub formulaire est a mettre dans un module
le sub creationbouton dans le code du formulaire
et quand vous voulez un bouton vous inserez la ligne :
CreationBouton "Banane", 130, 100, 90, 20, "Formulaire"
banane c le texte qu'on voit sur le bouton, les chiffres la position du bouton

voila je passe en resolu

a bientot :D
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 097
Membres
103 116
dernier inscrit
kutobi87