Ajouter et supprimer des boutons dans une feuille de calcul Excel. [Résolu]

Signaler
Messages postés
7
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
27 novembre 2008
-
Messages postés
7
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
27 novembre 2008
-
Bonjour,



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Je suis en train de créer une feuille de calcul Excel, sur la quelle je fais supprimer et incorporer à tour de rôle un bouton à l’aide de macros.


Au départ j’ai un bouton « Valider la mesure » lorsque je clique de dessus, l’action provoque la succession de plusieurs tache et en particulier la création d’un nouveau bouton.



 





Voici la macro.





 





ActiveSheet.Buttons.Add(36.75, 3, 141.75, 28.5).Select






    Selection.OnAction = "Nouvelle_Rouillé_24_v_Poste"






    Selection.Characters.Text = "Nouvelle mesure"






    


With Selection.Font








        .Name = "Arial"








        .FontStyle = "Gras italique"








      
 .Size = 14








        .Strikethrough = False








        .Superscript = False








        .Subscript = False








        .OutlineFont = False








        .Shadow = False








       
.Underline = xlUnderlineStyleNone






        .ColorIndex = 3






    End With





 





 




et la suppression du bouton qui et à l’origine de l’action « Valider la mesure ».



 





Voici la macro.





 





ActiveSheet.Shapes("Button 4").Select






    Selection.Delete





 




Le nouveau bouton ainsi créer provoque également à l’aide d’une nouvelle macro, …… et en particulier la création d’un nouveau bouton.



 





Voici la macro.





 





 





ActiveSheet.Buttons.Add(687, 3, 141.75, 28.5).Select






    Selection.OnAction = "Valider_Rouillé_24_v_Poste"






    Selection.Characters.Text = "Valider la mesure"






    With Selection.Font






        .Name = "Arial"






       


.FontStyle = "Gras italique"








        .Size = 14








        .Strikethrough = False








        .Superscript = False








        .Subscript = False








        .OutlineFont = False








        .Shadow = False








       
.Underline = xlUnderlineStyleNone






        .ColorIndex = 12






    End With






 





et la suppression du bouton qui et à l’origine de l’action « Nouvelle mesure ».



 





Voici la macro.





 





ActiveSheet.Shapes("Button 5").Select






    Selection.Delete






 





En somme chaque boutons apparais  et disparais à tour de rôle.



 




Malheureusement mes macros ne fonctionnent pas car, lors de la création automatique des boutons le système leur donne un nom, exemple « boutton 4 » et bien sûr !  Se n’ai jamais le même.



 




Comment supprimer ce bug, par exemple en imposant le nom du bouton au système, mais là je suis en train de découvrir VBA et je ne sais pas comment faire.



 




En espèrent  avoir été assai claire dans mes explications.



 




Merci d’avance.


 


jphflo

6 réponses

Messages postés
96
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
10 mars 2011
2
Bonjour, j'ai rapidement survolé tes questions : ne serait-il pas plus simple de créér tes boutons dès le départ et de te contenter de les faire apparaitre ou disparaitre avec la propriété .visible=true ou false ?
Messages postés
7
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
27 novembre 2008

Bonjour JPGVG<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>





 




Merci pour ta réponse, elle me convient bien.


Je l’ai mis en application mais je ne dois pas utiliser les bonnes syntaxes.



 




Pour faire disparaître un bouton la macro suivante fonctionne sans problème.



 





 






Sub Macro3()








 








ActiveSheet.Shapes("Button 6").Select







Selection.Visible = False








 








End Sub







 





Pour faire réapparaitre le bouton cela ne fonctionne pas, voici la macro qui pose problème














 







Sub Macro4()








 









 ActiveSheet.Shapes("Button 6").Select








 Selection.Visible = True








 








End Sub







 







 





Merci encore de ton aide.



 




jphflo


 
Messages postés
96
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
10 mars 2011
2
Bonjour,
 essaie cette varaiante de ta syntaxe. Le passage en dur du nom de la feuille permet d'éviter certains pb, et gagne parfois du temps. (testé chez moi ça marche sans soucis.

Worksheets("Feuil1").Shapes("CommandButton1").Visible = False
    
Worksheets("Feuil1").Shapes("CommandButton1").Visible = True

A plus.
Messages postés
7
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
27 novembre 2008

Salut JPGVB



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Merci pour ton aide, ta solution et idéal.


Mais comme il fallait que je termine c’est feuille de calcul ce week-end, j’ai composé comme j’ai pu.


Voici donc les deux macros que j’ai créé pour faire apparaître et disparaître mes boutons.



 





Sub Valider_la_mesure()






 







'Cacher les boutons







    ActiveSheet.Buttons.Visible = False






 







‘Créer le bouton nouvelle mesure







    ActiveSheet.Buttons.Add(36.75, 3, 141.75, 28.5).Select






    Selection.OnAction = "Nouvelle_mesure"






    Selection.Characters.Text = "Nouvelle mesure"






   


With Selection.Font








        .Name = "Arial"








        .FontStyle = "Gras italique"








        .Size = 14








        .Strikethrough = False








        .Superscript = False








        .Subscript = False








        .OutlineFont = False








        .Shadow = False








        .Underline = xlUnderlineStyleNone








        .ColorIndex = 3








    End With








 









‘Selectioner cellule F7










    Range("F7").Select










   







End Sub






 






Sub Nouvelle_mesure()






 







'Cacher les boutons







    ActiveSheet.Buttons.Visible = False






 







‘Créer le bouton valider la mesure







    ActiveSheet.Buttons.Add(687, 3, 141.75, 28.5).Select






    Selection.OnAction = "Valider_la_mesure"






    Selection.Characters.Text = "Valider la mesure"






   


With Selection.Font








        .Name = "Arial"








        .FontStyle = "Gras italique"








        .Size = 14








        .Strikethrough = False








        .Superscript = False








        .Subscript = False








        .OutlineFont = False








        .Shadow = False








        .Underline = xlUnderlineStyleNone








        .ColorIndex = 12








    End With







‘Selectioner cellule F7








    Range("F7").Select







 






End Sub






 





Je repose la question de départ, sais tu comment renommer le nom d’un bouton imposé par Excel  lors de sa création.



 




Exemple :


("Button 1") par ("Mon bouton")



 




Merci encore pour tout.

jphflo
Messages postés
577
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
Bonjour

En principe, vous devez pouvoir modifier la propriété Name d'un bouton, juste après sa création. Par exemple :

ActiveSheet.Buttons.Add(36.75, 3, 141.75, 28.5).Select ' cree le bouton
selection.name = "Mon bouton" ' renomme le bouton

@+
Messages postés
7
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
27 novembre 2008

Bonjour Orohena,



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Merci pour ta réponse, enfin grâce à toi je vais pouvoir renommer mes boutons comme bon me semble et pouvoir écrire mes macro d’une traite sans aller voir comment Excel a bien voulu me nommer les boutons lors de leur création.



 




Encore merci.



 




jphflo