RESOLU - Création/suppression "Button"

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Encore besoin de votre écoute ....

Voici mon souci :
J'ai créé une macro pour une action. Cette macro me créé un "button" qui est (ou qui devrait LOL) être détruit en fin d'action et continuellement à chaque action.

Ceci pour éviter que les utilisateurs de mon classeur "me fassent des bêtises".

Le problème est qu'à chaque création, le numéro du "button" change et je ne peux donc pas le détruire.

Voici les 2 macros
Création
Code:
ActiveSheet.Buttons.Add(598.5, 918.75, 115.5, 72.75).Select
    Selection.OnAction = "EnrRDV"
    Selection.Characters.Text = "3 oui = TRANSFEREZ VOTRE RENDEZ-VOUS"
    With Selection.Characters(Start:=1, Length:=36).Font
        .Name = "Arial Black"
        .FontStyle = "Normal"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 51
    End With

Destruction
Code:
ActiveSheet.Shapes.Range(Array("Button 44")).Select
    Selection.delete
    Selection.Cut

ou
Code:
ActiveSheet.Shapes.Range(Array("Button 45")).Select
    Selection.delete
    Selection.Cut
etc ..

Est-il possible qu'a la création que la macro affecte un numéro qui soit celui du "button" créé afin que la seconde macro puisse le détruire ?

En espérant que j'ai été clair dans mon petit exposé, je joins un classeur test.

Avec mes remerciements, je vous souhaite une très bonne journée,
Amicalement,
Lionel,
 

Pièces jointes

  • TestButton.xlsm
    18.8 KB · Affichages: 32
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : Création/suppression "Button"

Bonjour, arthour973, le Forum,

Peut-être ainsi... pour la création :

Code:
Option Explicit
Sub Bouton_insérer()
    ActiveSheet.Buttons.Add(598.5, 218.75, 115.5, 72.75).Select
    With Selection
        .OnAction = "EnrRDV"
        .Characters.Text = "3 oui = TRANSFEREZ VOTRE RENDEZ-VOUS"
        .Name = "toto"
        .OnAction = "EnrRDV"
        With Selection.Characters(Start:=1, Length:=36).Font
            .Name = "Arial Black"
            .FontStyle = "Normal"
            .Size = 10
            .ColorIndex = 51
        End With
    End With
    With Range("G18"): .Select: .Value = "maintenant il faut le détruire": End With
End Sub

... puis, pour la suppression :

Code:
Sub Bouton_supprimer()
    ActiveSheet.Shapes("toto").Delete
End Sub

A bientôt :)
 

Statistiques des forums

Discussions
312 480
Messages
2 088 757
Membres
103 950
dernier inscrit
Thomas Solioz