[Catégorie modifiée .Net --> VBA] créer un bouton "Calculer" affecté à une macro

kikinou765 Messages postés 22 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 7 juillet 2010 - 6 juil. 2010 à 10:31
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 - 6 juil. 2010 à 12:42
Bonjour,

je cherche à créer un bouton "Calculer" avec affectation d'une macro direct au démarrage de la feuille Excel. Je suis sous Excel 2007.

Ce que je souhaite, c'est que au démarrage, mon bouton se créer automatiquement et qu'il soit directement affecté à la macro désirée.

De plus, j'ai déjà mis un :

Sheets(1).Cells.Clear pour effacer le contenu de la feuille mais ça n'efface pas les objets comme les anciens boutons. Comment puis-je faire?

enfin, au démarrage j'aimerais également situer le bouton sur la feuille.

Quelqu'un peut-il m'aider?

Merci d'avance.

Cordialement
Julien

4 réponses

cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
6 juil. 2010 à 12:00
Bonjour,
Un ti exemple ?
Sub CréerBouton()

Dim Obj As Object
Dim Code As String

Sheets("Feuil1").Select


'crée le bouton
    Set Obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
    Link:=False, DisplayAsIcon:=False, Left:=200, Top:=100, Width:=100, Height:=35)
    Obj.Name = "BoutonTest"
'texte du bouton
    ActiveSheet.OLEObjects(1).Object.Caption = "Tester le bouton"

'Le texte de la macro
    Code = "Sub BoutonTest_Click()" & vbCrLf
    Code = Code & "Call Tester" & vbCrLf
    Code = Code & "End Sub"
'Ajoute la macro en fin de module feuille
    With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule
        .insertlines .CountOfLines + 1, Code
    End With
End Sub

Sub Tester()
    MsgBox "Vous avez cliquez sur le bouton test"
End Sub

A+
0
kikinou765 Messages postés 22 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 7 juillet 2010
6 juil. 2010 à 12:13
merci bcp pour le post

mais je me suis mal fait comprendre
en fait je veux un bouton qui se colle direct sur la feuille excel au démarrage
et que ce bouton "buttonclick" soit deja affecté à une macro au démarrage de la feuille

et également si tu as quelque chose pour effacer d'autres boutons au démarrage sur la feuille parce que l'effacement de contenu de cellule ne fonctionne pas

merci
0
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
6 juil. 2010 à 12:24
mais je me suis mal fait comprendre
en fait je veux un bouton qui se colle direct sur la feuille excel au démarrage
et que ce bouton "buttonclick" soit deja affecté à une macro au démarrage de la feuille

Mais c'est exactement ce que fait de code !!!!
Suffit de mettre dans ThisWorkBook_Open
Private Sub Workbook_Open()
    CréerBouton
End Sub

Bien sùr, le code doit être dans un module général
0
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
6 juil. 2010 à 12:42
Ta deuxième question..
Dim Obj As Object
    For Each Obj In Sheets("Feuil1").OLEObjects
        Obj.Delete
    Next Obj

A+
0
Rejoignez-nous