Renommer plusieurs cases à cocher en VBA
lucius
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,
J'ai un classeur avec un très grand nombre de cases à cocher (plusieurs centaines réparties sur 31 feuilles, une par mois)
Je voudrais renommer certaines. Sur chaque feuille, il y a une vingtaine de cases portant le nom d'un collègue qui est parti en retraite, et qui a été remplacé par un autre.
Existe-t-il une formule permettant de repérer les cases portant ce nom, afin de changer pour le nom du nouveau collègue ?
Merci
J'ai un classeur avec un très grand nombre de cases à cocher (plusieurs centaines réparties sur 31 feuilles, une par mois)
Je voudrais renommer certaines. Sur chaque feuille, il y a une vingtaine de cases portant le nom d'un collègue qui est parti en retraite, et qui a été remplacé par un autre.
Existe-t-il une formule permettant de repérer les cases portant ce nom, afin de changer pour le nom du nouveau collègue ?
Merci
Configuration: Windows / Internet Explorer 11.0
1 réponse
-
Bonjour,
en vba nous allons faire une boucle sur toutes les feuilles
https://silkyroad.developpez.com/VBA/FeuilleDeCalcul/#LI
ensuite sur chaque feuille une boucle sur les cases à cocher pour renommer celles qui ont besoin:
https://excel.developpez.com/faq/?page=ObjFormulaire#BoucleCasesCocher
pour commencer:
faire Alt F11 pour accéder à l'éditeur
Inserer Module et mettre ce code:
Option Explicit 'https://excel.developpez.com/faq/?page=ObjFormulaire#BoucleCasesCocher 'https://silkyroad.developpez.com/VBA/FeuilleDeCalcul/#LI Sub BoucleCheckBoxes_Formulaire() Dim Cb As CheckBox 'Déclare la variable objet Worksheet Dim Ws As Worksheet Application.ScreenUpdating = False 'ThisWorkbook correspond à l'objet classeur contenant la macro For Each Ws In ThisWorkbook.Worksheets 'Boucle sur les checkboxes formulaires de la Feuil For Each Cb In Ws.CheckBoxes If Cb.Caption = "moi" Then 'adapter ancien nom ' MsgBox Cb.Name Cb.Caption = "toi" ' adapter nouveau nom End If Next Cb Next Ws Application.ScreenUpdating = True End Sub
ensuite mettre le curseur sur BoucleCheckBoxes_Formulaire
et appuyer surtouche F5 du clavier
Voilà