OVH Cloud OVH Cloud

barre d'outils modifié

6 réponses
Avatar
Angela
Re,
Si je promets de bien lire la réponses, je peux poser une autre question????
Je voudrais ajouter des boutons qui lancent des macro dans ma barre d'outil.
(Ca je sais faire). Par contre ce que je voudrais c'est ne voir ces bouton
que sur cette feuille et pas une autre et là je ne sais pas si c'es
Possible??? Et si oui comment il faut faire?
Merci d'avance.
Angéla

6 réponses

Avatar
michdenis
Bonjour Angela,

Dans le module feuille où tu veux voir afficher tes contrôles ou non selon que la feuille est active ou non, copie ceci
:

'--------------------------
Private Sub Worksheet_Activate()

AfficherControls True

End Sub
'--------------------------
Private Sub Worksheet_Deactivate()

AfficherControls

End Sub
'--------------------------

Et dans un module standard, tu copie ceci :

'--------------------------------------------------
Sub AfficherControls(Optional ByVal Res As Boolean)

Dim CBar As CommandBar
Dim Arr()

'tu insères la liste les "Caption" que tu as donné lors de leur création
'à tes boutons de commandes que tu veux masquer.
Arr = Array("Enregistrer", "Ouvrir") ' à déterminer

'Remplace Standard par le nom de la barre d'outils
'où tu as ajouté tes boutons
Set CBar = Application.CommandBars("Standard")

For Each elt In Arr
CBar.Controls(elt).Visible = Res
Next

Set CBar = Nothing
End Sub
'--------------------------------------------------


Salutations!



"Angela" a écrit dans le message de news: %
Re,
Si je promets de bien lire la réponses, je peux poser une autre question????
Je voudrais ajouter des boutons qui lancent des macro dans ma barre d'outil.
(Ca je sais faire). Par contre ce que je voudrais c'est ne voir ces bouton
que sur cette feuille et pas une autre et là je ne sais pas si c'es
Possible??? Et si oui comment il faut faire?
Merci d'avance.
Angéla
Avatar
Monique Brunel
Bonjour Angela,

Tu obtiendras ce résultat avec les procédures événementielles
(exemples dans le classeur event.zip à télécharger
http://dj.joss.free.fr/down.htm )

Si la macro créant le menu se nomme MonMenu
dans le module ThisWorkbook de ta feuille tu places ces macros

Private Sub Workbook_Open()

CreateMonMenu

End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)

DelMonMenu

End Sub



Re,
Si je promets de bien lire la réponses, je peux poser une autre question????
Je voudrais ajouter des boutons qui lancent des macro dans ma barre d'outil.
(Ca je sais faire). Par contre ce que je voudrais c'est ne voir ces bouton
que sur cette feuille et pas une autre et là je ne sais pas si c'es
Possible??? Et si oui comment il faut faire?
Merci d'avance.
Angéla




--
Amicalement,
Monique
en campagne pour des sites conformes aux standards et accessibles...
http://www.webmaster-hub.com/ et http://www.opquast.org/
avec des navigateurs évolutifs http://www.mozilla-europe.org/
Pour les amateurs d'athlétisme : http://users.skynet.be/osga/

Avatar
Angela
bonjour,
j'ai copier les macro dans les modules que tu m'as indiqué mais rien ne se
passe???
Qu'est ce que j'ai mal fais???
- Les 2 premières, je les ai copié tel que dans la feuille concernée,
- La 3e je l'ai copie dans "module 1" la ou figure toutes mes autres macro.
Dans cette macro j'ai remplacé "enregistrer" et "ouvrir" par les nom de mon
bouton (et non pas le nom de la macro auquel il est rattaché).
Voila tout ce que j'ai fais et ça ne marche pas...
Merci encore
Angéla
"michdenis" a écrit dans le message news:

Bonjour Angela,

Dans le module feuille où tu veux voir afficher tes contrôles ou non selon
que la feuille est active ou non, copie ceci

:

'--------------------------
Private Sub Worksheet_Activate()

AfficherControls True

End Sub
'--------------------------
Private Sub Worksheet_Deactivate()

AfficherControls

End Sub
'--------------------------

Et dans un module standard, tu copie ceci :

'--------------------------------------------------
Sub AfficherControls(Optional ByVal Res As Boolean)

Dim CBar As CommandBar
Dim Arr()

'tu insères la liste les "Caption" que tu as donné lors de leur création
'à tes boutons de commandes que tu veux masquer.
Arr = Array("Enregistrer", "Ouvrir") ' à déterminer

'Remplace Standard par le nom de la barre d'outils
'où tu as ajouté tes boutons
Set CBar = Application.CommandBars("Standard")

For Each elt In Arr
CBar.Controls(elt).Visible = Res
Next

Set CBar = Nothing
End Sub
'--------------------------------------------------


Salutations!



"Angela" a écrit dans le message de news:
%

Re,
Si je promets de bien lire la réponses, je peux poser une autre
question????

Je voudrais ajouter des boutons qui lancent des macro dans ma barre
d'outil.

(Ca je sais faire). Par contre ce que je voudrais c'est ne voir ces bouton
que sur cette feuille et pas une autre et là je ne sais pas si c'es
Possible??? Et si oui comment il faut faire?
Merci d'avance.
Angéla





Avatar
michdenis
Bonjour Angela,

Est-ce que tu as pris quelques instants pour lire la procédure. J'y ai mis des commentaires qui avaient pour but de te
permettre de comprendre ce qu'il fallait adapter selon les boutons de commandes que tu as ajoutés à ton application.

Comme je n'ai pas ton application sous les yeux, je ne peux pas savoir quelle est la barre d'outils que tu as utilisée
pour ajouter tes boutons de commande ....Dans la procédure, j'ai supposé que c'était la barre d'outils "Standard"... si
tu en as choisi une autre, il faudra remplacer "Standard" dans la procédure par celle que tu as choisie.

IL est d'usage courant d'attribuer à la propriété "Caption" (le texte visible sur les commandes du menu ou sur les
boutons de commande) une chaîne de caractère (nom de la commande). Encore une fois, dans mon exemple, j'ai utilisé
"Enregistrer" et "ouvrir" ... que tu devras remplacer par les "noms" dont tu as affublé tes boutons ... il se peut que
tu n'aies pas défini cette propriété à leur création ! Comment puis-je savoir ? Tu n'as pas décrite la procédure que tu
as utilisée ... ni publiée !


Salutations!


'------------------------------------------
Sub AfficherControls(Optional ByVal Res As Boolean)

Dim CBar As CommandBar
Dim Arr()

'tu insères la liste les "Caption" que tu as donné lors de leur création
'à tes boutons de commandes que tu veux masquer.
Arr = Array("Enregistrer", "Ouvrir") ' à déterminer

'Remplace Standard par le nom de la barre d'outils
'où tu as ajouté tes boutons
Set CBar = Application.CommandBars("Standard")

For Each elt In Arr
CBar.Controls(elt).Visible = Res
Next

Set CBar = Nothing
End Sub
'------------------------------------------







"Angela" a écrit dans le message de news:
bonjour,
j'ai copier les macro dans les modules que tu m'as indiqué mais rien ne se
passe???
Qu'est ce que j'ai mal fais???
- Les 2 premières, je les ai copié tel que dans la feuille concernée,
- La 3e je l'ai copie dans "module 1" la ou figure toutes mes autres macro.
Dans cette macro j'ai remplacé "enregistrer" et "ouvrir" par les nom de mon
bouton (et non pas le nom de la macro auquel il est rattaché).
Voila tout ce que j'ai fais et ça ne marche pas...
Merci encore
Angéla
"michdenis" a écrit dans le message news:

Bonjour Angela,

Dans le module feuille où tu veux voir afficher tes contrôles ou non selon
que la feuille est active ou non, copie ceci

:

'--------------------------
Private Sub Worksheet_Activate()

AfficherControls True

End Sub
'--------------------------
Private Sub Worksheet_Deactivate()

AfficherControls

End Sub
'--------------------------

Et dans un module standard, tu copie ceci :

'--------------------------------------------------
Sub AfficherControls(Optional ByVal Res As Boolean)

Dim CBar As CommandBar
Dim Arr()

'tu insères la liste les "Caption" que tu as donné lors de leur création
'à tes boutons de commandes que tu veux masquer.
Arr = Array("Enregistrer", "Ouvrir") ' à déterminer

'Remplace Standard par le nom de la barre d'outils
'où tu as ajouté tes boutons
Set CBar = Application.CommandBars("Standard")

For Each elt In Arr
CBar.Controls(elt).Visible = Res
Next

Set CBar = Nothing
End Sub
'--------------------------------------------------


Salutations!



"Angela" a écrit dans le message de news:
%

Re,
Si je promets de bien lire la réponses, je peux poser une autre
question????

Je voudrais ajouter des boutons qui lancent des macro dans ma barre
d'outil.

(Ca je sais faire). Par contre ce que je voudrais c'est ne voir ces bouton
que sur cette feuille et pas une autre et là je ne sais pas si c'es
Possible??? Et si oui comment il faut faire?
Merci d'avance.
Angéla





Avatar
Angela
Re,
Est-ce que tu as pris quelques instants pour lire la procédure
J'ai bien pris le temps de tout lire et il me semble avoir compris.

....Dans la procédure, j'ai supposé que c'était la barre d'outils
"Standard"...

Très bonne déduction
IL est d'usage courant d'attribuer à la propriété "Caption" (le texte
visible sur les commandes du menu ou sur les

boutons de commande) une chaîne de caractère (nom de la commande).
C'est là que je ne te suis plus... En fait j'ai attribuer (ou affublé) des
nom a mes boutons "jaune", "vert" "rouge"... (on est bien d'accord, click
droit sur le bouton qui est dans ma barre d'outils, et dans la zone "nom" je
saisis le nom de mon bouton?). c'est ce nom là que je mets à la place de
"enregistrer" ou" ouvrir".
Par contre, toujours avec le clic droit, je lui attribue une macro qu'il
doit exécuter ce bouton. Peut être est ce nom la qu'il faut que j'inscrive.
Désolée de ne pas être plus explicite...
Merci tout de même pour ton aide.
Salutation
Angéla
"michdenis" a écrit dans le message news:

Bonjour Angela,

Est-ce que tu as pris quelques instants pour lire la procédure. J'y ai mis
des commentaires qui avaient pour but de te

permettre de comprendre ce qu'il fallait adapter selon les boutons de
commandes que tu as ajoutés à ton application.


Comme je n'ai pas ton application sous les yeux, je ne peux pas savoir
quelle est la barre d'outils que tu as utilisée

pour ajouter tes boutons de commande ....Dans la procédure, j'ai supposé
que c'était la barre d'outils "Standard"... si

tu en as choisi une autre, il faudra remplacer "Standard" dans la
procédure par celle que tu as choisie.


IL est d'usage courant d'attribuer à la propriété "Caption" (le texte
visible sur les commandes du menu ou sur les

boutons de commande) une chaîne de caractère (nom de la commande). Encore
une fois, dans mon exemple, j'ai utilisé

"Enregistrer" et "ouvrir" ... que tu devras remplacer par les "noms" dont
tu as affublé tes boutons ... il se peut que

tu n'aies pas défini cette propriété à leur création ! Comment puis-je
savoir ? Tu n'as pas décrite la procédure que tu

as utilisée ... ni publiée !


Salutations!


'------------------------------------------
Sub AfficherControls(Optional ByVal Res As Boolean)

Dim CBar As CommandBar
Dim Arr()

'tu insères la liste les "Caption" que tu as donné lors de leur création
'à tes boutons de commandes que tu veux masquer.
Arr = Array("Enregistrer", "Ouvrir") ' à déterminer

'Remplace Standard par le nom de la barre d'outils
'où tu as ajouté tes boutons
Set CBar = Application.CommandBars("Standard")

For Each elt In Arr
CBar.Controls(elt).Visible = Res
Next

Set CBar = Nothing
End Sub
'------------------------------------------







"Angela" a écrit dans le message de news:


bonjour,
j'ai copier les macro dans les modules que tu m'as indiqué mais rien ne se
passe???
Qu'est ce que j'ai mal fais???
- Les 2 premières, je les ai copié tel que dans la feuille concernée,
- La 3e je l'ai copie dans "module 1" la ou figure toutes mes autres
macro.

Dans cette macro j'ai remplacé "enregistrer" et "ouvrir" par les nom de
mon

bouton (et non pas le nom de la macro auquel il est rattaché).
Voila tout ce que j'ai fais et ça ne marche pas...
Merci encore
Angéla
"michdenis" a écrit dans le message news:

Bonjour Angela,

Dans le module feuille où tu veux voir afficher tes contrôles ou non
selon


que la feuille est active ou non, copie ceci
:

'--------------------------
Private Sub Worksheet_Activate()

AfficherControls True

End Sub
'--------------------------
Private Sub Worksheet_Deactivate()

AfficherControls

End Sub
'--------------------------

Et dans un module standard, tu copie ceci :

'--------------------------------------------------
Sub AfficherControls(Optional ByVal Res As Boolean)

Dim CBar As CommandBar
Dim Arr()

'tu insères la liste les "Caption" que tu as donné lors de leur création
'à tes boutons de commandes que tu veux masquer.
Arr = Array("Enregistrer", "Ouvrir") ' à déterminer

'Remplace Standard par le nom de la barre d'outils
'où tu as ajouté tes boutons
Set CBar = Application.CommandBars("Standard")

For Each elt In Arr
CBar.Controls(elt).Visible = Res
Next

Set CBar = Nothing
End Sub
'--------------------------------------------------


Salutations!



"Angela" a écrit dans le message de news:
%

Re,
Si je promets de bien lire la réponses, je peux poser une autre
question????

Je voudrais ajouter des boutons qui lancent des macro dans ma barre
d'outil.

(Ca je sais faire). Par contre ce que je voudrais c'est ne voir ces
bouton


que sur cette feuille et pas une autre et là je ne sais pas si c'es
Possible??? Et si oui comment il faut faire?
Merci d'avance.
Angéla










Avatar
Angela
Ca y est CA MARCHE
En fait, je te dois des excuses... Et tu dois m'excuser car la fin d'année
est dure.
Je t'ai dis que je voulais que mes bouton ne s'affiche que sur une feuille
et pas les autres. Et ça, ça marche, c'est a dire que si je passe à la
feuille suivante (dans le même classeur) mes boutons disparaissent.
Mais ce que j'ai complètement omis de te dire c'est que dans les autres
classeurs je ne les veux pas non plus. Et moi, pour tester, je passais d'un
classeur à un autre et non d'une feuille a une autre. Voila, c'est ma faute.

Aurais tu la solution pour que ces bouton disparaissent à la fermeture de
mon classeur???
Salutation
Angéla
"michdenis" a écrit dans le message news:

Bonjour Angela,

Est-ce que tu as pris quelques instants pour lire la procédure. J'y ai mis
des commentaires qui avaient pour but de te

permettre de comprendre ce qu'il fallait adapter selon les boutons de
commandes que tu as ajoutés à ton application.


Comme je n'ai pas ton application sous les yeux, je ne peux pas savoir
quelle est la barre d'outils que tu as utilisée

pour ajouter tes boutons de commande ....Dans la procédure, j'ai supposé
que c'était la barre d'outils "Standard"... si

tu en as choisi une autre, il faudra remplacer "Standard" dans la
procédure par celle que tu as choisie.


IL est d'usage courant d'attribuer à la propriété "Caption" (le texte
visible sur les commandes du menu ou sur les

boutons de commande) une chaîne de caractère (nom de la commande). Encore
une fois, dans mon exemple, j'ai utilisé

"Enregistrer" et "ouvrir" ... que tu devras remplacer par les "noms" dont
tu as affublé tes boutons ... il se peut que

tu n'aies pas défini cette propriété à leur création ! Comment puis-je
savoir ? Tu n'as pas décrite la procédure que tu

as utilisée ... ni publiée !


Salutations!


'------------------------------------------
Sub AfficherControls(Optional ByVal Res As Boolean)

Dim CBar As CommandBar
Dim Arr()

'tu insères la liste les "Caption" que tu as donné lors de leur création
'à tes boutons de commandes que tu veux masquer.
Arr = Array("Enregistrer", "Ouvrir") ' à déterminer

'Remplace Standard par le nom de la barre d'outils
'où tu as ajouté tes boutons
Set CBar = Application.CommandBars("Standard")

For Each elt In Arr
CBar.Controls(elt).Visible = Res
Next

Set CBar = Nothing
End Sub
'------------------------------------------







"Angela" a écrit dans le message de news:


bonjour,
j'ai copier les macro dans les modules que tu m'as indiqué mais rien ne se
passe???
Qu'est ce que j'ai mal fais???
- Les 2 premières, je les ai copié tel que dans la feuille concernée,
- La 3e je l'ai copie dans "module 1" la ou figure toutes mes autres
macro.

Dans cette macro j'ai remplacé "enregistrer" et "ouvrir" par les nom de
mon

bouton (et non pas le nom de la macro auquel il est rattaché).
Voila tout ce que j'ai fais et ça ne marche pas...
Merci encore
Angéla
"michdenis" a écrit dans le message news:

Bonjour Angela,

Dans le module feuille où tu veux voir afficher tes contrôles ou non
selon


que la feuille est active ou non, copie ceci
:

'--------------------------
Private Sub Worksheet_Activate()

AfficherControls True

End Sub
'--------------------------
Private Sub Worksheet_Deactivate()

AfficherControls

End Sub
'--------------------------

Et dans un module standard, tu copie ceci :

'--------------------------------------------------
Sub AfficherControls(Optional ByVal Res As Boolean)

Dim CBar As CommandBar
Dim Arr()

'tu insères la liste les "Caption" que tu as donné lors de leur création
'à tes boutons de commandes que tu veux masquer.
Arr = Array("Enregistrer", "Ouvrir") ' à déterminer

'Remplace Standard par le nom de la barre d'outils
'où tu as ajouté tes boutons
Set CBar = Application.CommandBars("Standard")

For Each elt In Arr
CBar.Controls(elt).Visible = Res
Next

Set CBar = Nothing
End Sub
'--------------------------------------------------


Salutations!



"Angela" a écrit dans le message de news:
%

Re,
Si je promets de bien lire la réponses, je peux poser une autre
question????

Je voudrais ajouter des boutons qui lancent des macro dans ma barre
d'outil.

(Ca je sais faire). Par contre ce que je voudrais c'est ne voir ces
bouton


que sur cette feuille et pas une autre et là je ne sais pas si c'es
Possible??? Et si oui comment il faut faire?
Merci d'avance.
Angéla