Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

vba Feuilles et ThisWorkbook

4 réponses
Avatar
j-pascal
Bonjour,

Mon code est dans ThisWorkbook.

Ce code s'applique à une feuille sur deux.

Je souhaite lancer ce code via un bouton (boite outils de contrôles),
inséré dans chacune des feuilles concernées par le code.

Si je crée le bouton dans une feuille, ma commande est "private", donc
elle ne peut accéder (sauf erreur de ma part) au code contenu dans
ThisWorkbook !

Faut-il que je recopie le code dans chacune des feuilles ?

Comment puis-je copier le bouton dans toutes les feuilles ? A priori,
je ne peux pas sélectionner toutes les feuilles puis insérer ce bouton
!

Merci pour vos lumières !

JP

4 réponses

Avatar
Daniel.C
Bonjour.
C'est le code qui se trouve dans thisworkbook qui ne doit pas être
"private". Tu y accèdes par la commande :
ThisWorkbook.MaMacro
Mais, sauf impossibilité, cette macro serait mieux à sa place dans un
module standard.
Quant au bouton, tu le crées sur une feuille, tu le copies et tu le
colles dans les autres feuilles. Il faudra par contre recopier le code.
Sauf si tu pars d'un classeur neuf, auquel cas, tu prépares une feuille
avec son bouton et son code et tu fais des copies de feuille.
Cordialement.
Daniel

Bonjour,

Mon code est dans ThisWorkbook.

Ce code s'applique à une feuille sur deux.

Je souhaite lancer ce code via un bouton (boite outils de contrôles), inséré
dans chacune des feuilles concernées par le code.

Si je crée le bouton dans une feuille, ma commande est "private", donc elle
ne peut accéder (sauf erreur de ma part) au code contenu dans ThisWorkbook !

Faut-il que je recopie le code dans chacune des feuilles ?

Comment puis-je copier le bouton dans toutes les feuilles ? A priori, je ne
peux pas sélectionner toutes les feuilles puis insérer ce bouton !

Merci pour vos lumières !

JP


Avatar
Jacky
Bonsoir,
Une macro placer dans un module simple peut-être appelée de n'importe où.
Exemple:
dans un module simple Alt+F11 insertion module
'---------------
Sub LaMacro()
MsgBox "Lancement de la Mavro nommée ""LaMacro"""
End Sub
'--------------
Dans le Thisworkbook
'----------------
Private Sub Workbook_Open()
LaMacro
End Sub
'----------------
Sur une ou plusieurs feuilles par un bouton
'-------------------
Private Sub CommandButton1_Click()
LaMacro
End Sub
'--------------------
Voir ici
http://cjoint.com/?leu5FfIGHF

--
Salutations
JJ


"j-pascal" a écrit dans le message de news:

Bonjour,

Mon code est dans ThisWorkbook.

Ce code s'applique à une feuille sur deux.

Je souhaite lancer ce code via un bouton (boite outils de contrôles),
inséré dans chacune des feuilles concernées par le code.

Si je crée le bouton dans une feuille, ma commande est "private", donc
elle ne peut accéder (sauf erreur de ma part) au code contenu dans
ThisWorkbook !

Faut-il que je recopie le code dans chacune des feuilles ?

Comment puis-je copier le bouton dans toutes les feuilles ? A priori, je
ne peux pas sélectionner toutes les feuilles puis insérer ce bouton !

Merci pour vos lumières !

JP




Avatar
j-pascal
Merci,
J'ai appliqué le conseil et ça marche ;-)

JP
Bonsoir,
Une macro placer dans un module simple peut-être appelée de n'importe où.
Exemple:
dans un module simple Alt+F11 insertion module
'---------------
Sub LaMacro()
MsgBox "Lancement de la Mavro nommée ""LaMacro"""
End Sub
'--------------
Dans le Thisworkbook
'----------------
Private Sub Workbook_Open()
LaMacro
End Sub
'----------------
Sur une ou plusieurs feuilles par un bouton
'-------------------
Private Sub CommandButton1_Click()
LaMacro
End Sub
'--------------------
Voir ici
http://cjoint.com/?leu5FfIGHF

--
Salutations
JJ


"j-pascal" a écrit dans le message de news:

Bonjour,

Mon code est dans ThisWorkbook.

Ce code s'applique à une feuille sur deux.

Je souhaite lancer ce code via un bouton (boite outils de contrôles),
inséré dans chacune des feuilles concernées par le code.

Si je crée le bouton dans une feuille, ma commande est "private", donc elle
ne peut accéder (sauf erreur de ma part) au code contenu dans ThisWorkbook
!

Faut-il que je recopie le code dans chacune des feuilles ?

Comment puis-je copier le bouton dans toutes les feuilles ? A priori, je ne
peux pas sélectionner toutes les feuilles puis insérer ce bouton !

Merci pour vos lumières !

JP






Avatar
j-pascal
Bonsoir Daniel,

Merci,
Je ne comprends pas "ThisWorkbook.MaMacro". Si je lance "MaMacro" tout
simplement depuis n'importe quelle feuille, dès lors que la code est
dans "ThisWorkbook", j'imagine qu'il se lancera, non ?
La copie du bouton ou du code dans chaque feuille est simple,
effectivement. Le pb, c'est que si je donne comme nom à mon bouton
"Toto", il faut que je remplace tous les noms initiaux de ce bouton par
"Toto". Je pensais que la simple recopie du bouton (image du bouton)
copiait aussi son nom ...

JP
Bonjour.
C'est le code qui se trouve dans thisworkbook qui ne doit pas être "private".
Tu y accèdes par la commande :
ThisWorkbook.MaMacro
Mais, sauf impossibilité, cette macro serait mieux à sa place dans un module
standard.
Quant au bouton, tu le crées sur une feuille, tu le copies et tu le colles
dans les autres feuilles. Il faudra par contre recopier le code. Sauf si tu
pars d'un classeur neuf, auquel cas, tu prépares une feuille avec son bouton
et son code et tu fais des copies de feuille.
Cordialement.
Daniel

Bonjour,

Mon code est dans ThisWorkbook.

Ce code s'applique à une feuille sur deux.

Je souhaite lancer ce code via un bouton (boite outils de contrôles),
inséré dans chacune des feuilles concernées par le code.

Si je crée le bouton dans une feuille, ma commande est "private", donc elle
ne peut accéder (sauf erreur de ma part) au code contenu dans ThisWorkbook
!

Faut-il que je recopie le code dans chacune des feuilles ?

Comment puis-je copier le bouton dans toutes les feuilles ? A priori, je ne
peux pas sélectionner toutes les feuilles puis insérer ce bouton !

Merci pour vos lumières !

JP