Bonjour, je veux cr=E9er un bouton avec un =E9venement click=20
en VBA. Seulement, je n'arrive pas =E0 ins=E9rer les codes VBA=20
dans la feuille o=F9 se trouve le bouton. J'ai un message=20
d'erreur: "L'acc=E8s par programme au projet VBA n'est pas=20
fiable."
Code d'insertion au module:
With ThisWorkbook.VBProject.VBComponents.
(ActiveSheet.Name).CodeModule
Nb_Lignes=3D .CountOfLines + 1
.InsertLines Nb_Lignes, Code
=20
End With
With Worksheets(NomFeuille) L = .Range(Adr).Left T = .Range(Adr).Top Lg = .Range(Adr).Width HT = .Range(Adr).Height
With .OLEObjects.Add(ClassType:="Forms.CommandButton.1", _ Link:úlse, DisplayAsIcon:úlse, Left:=L, _ Top:=T, Width:=Lg, Height:=HT) With .Object .Caption = NomBouton .Font.Name = "Arial" .Font.Size = 14 .Font.Bold = True End With InsérerLeCodeDuBouton NomFeuille, .Name End With End With
End Sub
'----------------------- Sub InsérerLeCodeDuBouton(NomFeuille As String, NomBouton As String)
Dim A As String, Code As String A = Worksheets(NomFeuille).CodeName
With ThisWorkbook.VBProject.VBComponents(A).CodeModule .AddFromString Code End With
End Sub '-----------------------
Salutations!
"Mimi" a écrit dans le message de news:05c901c3a765$152afc60$ Bonjour, je veux créer un bouton avec un évenement click en VBA. Seulement, je n'arrive pas à insérer les codes VBA dans la feuille où se trouve le bouton. J'ai un message d'erreur: "L'accès par programme au projet VBA n'est pas fiable." Code d'insertion au module:
With ThisWorkbook.VBProject.VBComponents. (ActiveSheet.Name).CodeModule Nb_Lignes= .CountOfLines + 1 .InsertLines Nb_Lignes, Code
End With
Merci de me filer un petit coup de main!
Mimi
Bonjour Mimi,
Voici une façon de faire pour ajouter un bouton de commande issu de la barre d'outils contrôle et le code associé sur
l'événement clic.
Définit dans la procédure les variables dûment identifées.
Et dans la procédure : "InsérerLeCodeDuBouton..." , tu devras définir la procédure à exécuter. Je t'ai donné un petit
exemple comment procéder.
'-----------------------
Sub insererBoutonDeCommande()
'pour insérer le bouton à un
'endroit précis où se trouve une cellule.
Dim L As Double, T As Double, B As Object
Dim NomBouton As String, NomFeuille As String
Dim Lg As Double, HT As Double
With Worksheets(NomFeuille)
L = .Range(Adr).Left
T = .Range(Adr).Top
Lg = .Range(Adr).Width
HT = .Range(Adr).Height
With .OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
Link:úlse, DisplayAsIcon:úlse, Left:=L, _
Top:=T, Width:=Lg, Height:=HT)
With .Object
.Caption = NomBouton
.Font.Name = "Arial"
.Font.Size = 14
.Font.Bold = True
End With
InsérerLeCodeDuBouton NomFeuille, .Name
End With
End With
End Sub
'-----------------------
Sub InsérerLeCodeDuBouton(NomFeuille As String, NomBouton As String)
Dim A As String, Code As String
A = Worksheets(NomFeuille).CodeName
With ThisWorkbook.VBProject.VBComponents(A).CodeModule
.AddFromString Code
End With
End Sub
'-----------------------
Salutations!
"Mimi" <anonymous@discussions.microsoft.com> a écrit dans le message de news:05c901c3a765$152afc60$a401280a@phx.gbl...
Bonjour, je veux créer un bouton avec un évenement click
en VBA. Seulement, je n'arrive pas à insérer les codes VBA
dans la feuille où se trouve le bouton. J'ai un message
d'erreur: "L'accès par programme au projet VBA n'est pas
fiable."
Code d'insertion au module:
With ThisWorkbook.VBProject.VBComponents.
(ActiveSheet.Name).CodeModule
Nb_Lignes= .CountOfLines + 1
.InsertLines Nb_Lignes, Code
With Worksheets(NomFeuille) L = .Range(Adr).Left T = .Range(Adr).Top Lg = .Range(Adr).Width HT = .Range(Adr).Height
With .OLEObjects.Add(ClassType:="Forms.CommandButton.1", _ Link:úlse, DisplayAsIcon:úlse, Left:=L, _ Top:=T, Width:=Lg, Height:=HT) With .Object .Caption = NomBouton .Font.Name = "Arial" .Font.Size = 14 .Font.Bold = True End With InsérerLeCodeDuBouton NomFeuille, .Name End With End With
End Sub
'----------------------- Sub InsérerLeCodeDuBouton(NomFeuille As String, NomBouton As String)
Dim A As String, Code As String A = Worksheets(NomFeuille).CodeName
With ThisWorkbook.VBProject.VBComponents(A).CodeModule .AddFromString Code End With
End Sub '-----------------------
Salutations!
"Mimi" a écrit dans le message de news:05c901c3a765$152afc60$ Bonjour, je veux créer un bouton avec un évenement click en VBA. Seulement, je n'arrive pas à insérer les codes VBA dans la feuille où se trouve le bouton. J'ai un message d'erreur: "L'accès par programme au projet VBA n'est pas fiable." Code d'insertion au module:
With ThisWorkbook.VBProject.VBComponents. (ActiveSheet.Name).CodeModule Nb_Lignes= .CountOfLines + 1 .InsertLines Nb_Lignes, Code