Avoir le même bouton sur plusieurs feuilles

Bonjour a tous,

J'aurai besoin de votre aide sur l'utilisation des boutons en VBA.

je vous expose mon problèmes en espérant être clair : Je veux utiliser un bouton afin de désactiver et de réactiver les macros évènementielles de mon fichier.

Jusque là, pas de soucis, une recherche Google rapide me permet de trouver comment désactiver les événement et même changer le nom du bouton (bouton activex créésur la feuille A) :

Private Sub Events_off_click ()
If events_off.caption = "OFF" Then
application.enableevets = false
events_off.caption = "ON"
Else 
application.enableevets = true
events_off.caption = "OFF"
End if
end sub

Je commence juste à tatillonner en VBA donc c'est peut être un peu bourrin (?) mais ça fonctionne jusque là.

Là où je bloque en revanche, c'est que je voudrai que mon bouton soit "afficher" sur toutes les feuilles de mon classeur et dans le même état.

Autrement dit, si je suis la feuille A et que j'utilise mon bouton "OFF", je souhaite en pouvoir retrouver mon bouton "ON" sur les feuilles B et C également.

En vous remerciant par avance pour votre aide ^^

Lionel.

Bonjour Lionel_,

Pour cela change dans ton code en 3ième ligne

events_off.caption = "ON"

par

For F = 1 to Sheets.Count:Sheets(F).Events_Off. Caption ="ON":Next F

Idem pour le off.caption = "OFF" à la fin de ton code.

Note que ce bouton Activex doit se trouver dans toutes feuilles et porter bien sur le même nom; Events_Off

Si ce bouton ne figurait pas sur toutes les feuilles tu pourrais alors exclure certaines d'entre elles..

Bons tests, bonne continuation.

Bonjour X Cellus,

Merci pour ta réponse, ça fonctionne très bien pour appliquer le changement à toutes les boutons sur mes feuilles.

Mais j'avais mal exprimé ce que je cherchait à faire apparemment, j'aurais voulus pouvoir lier ma macro à tous les boutons en même temps, afin qu'un click sur le bouton de la feuille A, B ou C entraine la même macro.

Cela dit, après recherche il me semble que c'est impossible avec un bouton activEX, il faut créer la macro dans un module et utiliser des boutons formulaires.

Enfin, vu que dans mon classeur, je ne peux pas me passer de modifier l'apparence des boutons, je vais juste copier le code dans toutes les feuilles (j'ai déjà une macro qui m'oblige à copier une feuille existante si je souhaite en créer une nouvelle, donc le code sera conservé).

Encore merci

Bonjour Lionel_,

En effet le bouton Activex est lié à une feuille pour gérer les évènements propre à cette feuille.

Il est toujours possible d'avoir une feuille modèle comportant le code et le bouton. Ainsi en copiant cette feuille puis en renommant la copie. Tu t'évite de recommencer à intégrer le bouton et le code. Donc c'est plus rapide. Une macro dans un module pourrait même le faire.

Bonjour,

Comme il s'agit de désactiver les événements de l'Application, pourquoi ne pas faire un unique bouton dans le ruban et lui affecter ta macro?

https://support.office.com/fr-fr/article/affecter-une-macro-%C3%A0-un-bouton-728c83ec-61d0-40bd-b6ba-927f84eb5d2c

Bonjour,

X Cellus :

J'utilise un macro qui bloque l'ajout d'une nouvelle feuille, mais pas la copie (click droit, déplacer ou copier, case "copier") afin d'éviter de devoir reprendre les macros à la main à chaque fois (j'ai désactiver le calcul auto et utiliser des macros évenementielles pour calculer la feuille active) et de part la fonction du fichier, il y a toujours au moins une feuille vierge (à part mon bouton maintenant).

Mais merci du conseil tout de même

Pijaku :

C'est très intéressant comme possibilité, je garde cela sous la main pour une utilisation éventuelle.

Cependant (c'est ma faute, je n'ai pas précisé), mon fichier est amené à être utiliser par plusieurs personnes, avec un niveau différent dans excel, donc cette méthode ne sera pas assez "visuelle" et si j'ai bien compris, la manip doit être réalisée sur chaque poste utilisant le classeur (donc une méthode lourde en temps dans mon cas).

Mais merci de m'avoir proposer ça. Même si ce n'est pas tout de suite, je suis sur que ça me servira un jour

Précision : cette manipulation (sur tous les postes) peut être réalisée par un code VBA...

Rechercher des sujets similaires à "meme bouton feuilles"