Ajouter et supprimer des boutons dans une feuille de calcul Excel.

Résolu
jphflo Messages postés 7 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 27 novembre 2008 - 20 sept. 2008 à 11:31
jphflo Messages postés 7 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 27 novembre 2008 - 29 sept. 2008 à 20:54
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

JPGVB Messages postés 96 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 10 mars 2011 2
20 sept. 2008 à 12:20
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 ?
3
jphflo Messages postés 7 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 27 novembre 2008
20 sept. 2008 à 15:27
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


 
0
JPGVB Messages postés 96 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 10 mars 2011 2
22 sept. 2008 à 09:48
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.
0
jphflo Messages postés 7 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 27 novembre 2008
22 sept. 2008 à 20:25
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
26 sept. 2008 à 06:20
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

@+
0
jphflo Messages postés 7 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 27 novembre 2008
29 sept. 2008 à 20:54
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
0
Rejoignez-nous