[VBA] fonction click sur commandbutton
Kino76
Messages postés
93
Statut
Membre
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
Bonjour je voudrais savoir pourquoi la fonction permettant le clique sur un commandbutton ne reste pas sauvegarder et disparait a chaque fois que j'enregistre et ferme le classeur...?
J'ai essayer de la mettre dans un module ou dans un module de class rien n'y fait
J'ai essayer de la mettre dans un module ou dans un module de class rien n'y fait
A voir également:
- Commandbutton1_click()
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction remplacer sur word - Guide
- Click&clean - Télécharger - Nettoyage
- Fonction moyenne excel - Guide
3 réponses
oui
Code de la creation du bouton
--------------------------------------------------------------------------------------
Public Function CreateButton()
Dim o As OLEObject
Worksheets("Principal").Select
Set o = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False, Left:=100, Top:=150, Width:=80, Height:=30)
o.Select
Selection.Name = "ButtonInitFeuille"
o.Object.Caption = "Initialisation"
End Function
----------------------------------------------------------------------------------
la fonction principal qui l'appelle
----------------------------------------------------------------------------------
Sub InitFeuille()
Call CreateButton
End Sub
-----------------------------------------------------------------------------------
et la fonction du bouton que j'ai essayer de mettre soit dans le module en lui meme soit dans un module de class
-----------------------------------------------------------------------------------
Option Explicit
Public WithEvents ButtonInitFeuille As CommandButton
Private Sub ButtonInitFeuille_Click()
Call InitFeuilleTab
End Sub
--------------------------------------------------------------------------
avec ou sans les deux premiere lignes
Code de la creation du bouton
--------------------------------------------------------------------------------------
Public Function CreateButton()
Dim o As OLEObject
Worksheets("Principal").Select
Set o = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False, Left:=100, Top:=150, Width:=80, Height:=30)
o.Select
Selection.Name = "ButtonInitFeuille"
o.Object.Caption = "Initialisation"
End Function
----------------------------------------------------------------------------------
la fonction principal qui l'appelle
----------------------------------------------------------------------------------
Sub InitFeuille()
Call CreateButton
End Sub
-----------------------------------------------------------------------------------
et la fonction du bouton que j'ai essayer de mettre soit dans le module en lui meme soit dans un module de class
-----------------------------------------------------------------------------------
Option Explicit
Public WithEvents ButtonInitFeuille As CommandButton
Private Sub ButtonInitFeuille_Click()
Call InitFeuilleTab
End Sub
--------------------------------------------------------------------------
avec ou sans les deux premiere lignes
Module 1
-----------------------------------------------------------------------------
Dim Bouton() As New Classe1
Sub InitBoutons()
Dim cpt As Integer
Dim oleObj As OLEObject
For Each oleObj In ActiveSheet.OLEObjects
If Left(oleObj.Name, 17) = "ButtonInitFeuille" Then
cpt = cpt + 1
ReDim Preserve Bouton(1 To cpt)
Set Bouton(cpt).ButtonInitFeuille = oleObj.Object
End If
Next
End Sub
Sub CreateButton()
Dim o As OLEObject
Worksheets("Feuil1").Select
Set o = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False, Left:=100, Top:=150, Width:=80, Height:=30)
o.Select
Selection.Name = "ButtonInitFeuille" & ActiveSheet.OLEObjects.Count
o.Object.Caption = "Initialisation" & ActiveSheet.OLEObjects.Count
End Sub
Public Function InitFeuillTab()
MsgBox "Sa fonction"
End Function
-------------------------------------------------------------------------
Class 1
---------------------------------------------------------------------------
Option Explicit
Public WithEvents ButtonInitFeuille As CommandButton
Private Sub ButtonInitFeuille_Click()
Call InitFeuilleTab
End Sub
----------------------------------------------------------------------------
thisworkbook
---------------------------------------------------------------------------
Private Sub Workbook_Open()
Call InitBoutons
End Sub
---------------------------------------------------------------------------
-----------------------------------------------------------------------------
Dim Bouton() As New Classe1
Sub InitBoutons()
Dim cpt As Integer
Dim oleObj As OLEObject
For Each oleObj In ActiveSheet.OLEObjects
If Left(oleObj.Name, 17) = "ButtonInitFeuille" Then
cpt = cpt + 1
ReDim Preserve Bouton(1 To cpt)
Set Bouton(cpt).ButtonInitFeuille = oleObj.Object
End If
Next
End Sub
Sub CreateButton()
Dim o As OLEObject
Worksheets("Feuil1").Select
Set o = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False, Left:=100, Top:=150, Width:=80, Height:=30)
o.Select
Selection.Name = "ButtonInitFeuille" & ActiveSheet.OLEObjects.Count
o.Object.Caption = "Initialisation" & ActiveSheet.OLEObjects.Count
End Sub
Public Function InitFeuillTab()
MsgBox "Sa fonction"
End Function
-------------------------------------------------------------------------
Class 1
---------------------------------------------------------------------------
Option Explicit
Public WithEvents ButtonInitFeuille As CommandButton
Private Sub ButtonInitFeuille_Click()
Call InitFeuilleTab
End Sub
----------------------------------------------------------------------------
thisworkbook
---------------------------------------------------------------------------
Private Sub Workbook_Open()
Call InitBoutons
End Sub
---------------------------------------------------------------------------
Tu n'as pas de boutons sur ta feuille???????????????
Depuis tout à l'heure, tu me dis que le problème vient de InitButton??????????
Si tu n'as pas de bouton sur ta feuille comment veux tu les initialiser??????
SCROGNEUGNEU!!!!!!!!!
Ta macro CreateButton fonctionne t'elle?
S'agit-il de la feuille "Feuil1" ou "principale"? en conséquence, adapter : Worksheets("Feuil1").Select
Tu dis..... Grrrrrrrrr!!!!!!!!
Depuis tout à l'heure, tu me dis que le problème vient de InitButton??????????
Si tu n'as pas de bouton sur ta feuille comment veux tu les initialiser??????
SCROGNEUGNEU!!!!!!!!!
Ta macro CreateButton fonctionne t'elle?
S'agit-il de la feuille "Feuil1" ou "principale"? en conséquence, adapter : Worksheets("Feuil1").Select
Tu dis..... Grrrrrrrrr!!!!!!!!