macro pour cacher /montrer boutons sur feuille excel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pasquetp

XLDnaute Occasionnel
Bonjour,

je vous contacte car mes recherches n'ont rien donné pour arriver à avoir des boutons visibles et d'autres invisible

voici le fichier et le code qui nous interesse


**************************

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

For n = 5 To 41

If ActiveCell.Row = n Then
ActiveSheet.Shapes("Bouton" & n).Visible = True
ActiveSheet.Shapes("Bouton" & n).Fill.ForeColor.SchemeColor = 26
Else
ActiveSheet.Shapes("Bouton" & n).Visible = False
End If
Next

End Sub

*******************************

en gros ce que je souhaite cest que soient visibles les boutons qui:

1: correspondent à la ligne active (chose faite)
2: portent le nom "on call" (c'est le problème que je ne parviens pas à résoudre)

la ligne 6 devrait toujours avoir le bouton visible peut importe quel ligne est activé

Quelqu'un aurait une idée?

Merci a tous
 

Pièces jointes

Re : macro pour cacher /montrer boutons sur feuille excel

Bonjour,

Ton fichier en retour.

J'ai créé un nom "NoLligne" appartenant à la collection "Names" dans ton fichier qui n'est pas visible dans l'interface de la feuille de calcul et qui a pour but de conserver le nom de la ligne active.

À chaque fois que tu cliques dans la plage de cellules i5:i41 le bouton apparaît et celui qui était visible est masqué.
 

Pièces jointes

Re : macro pour cacher /montrer boutons sur feuille excel

Salut

Merci de ton email 🙂

je crains que je me sois mal expliqué (j'en suis désolé)

cela est la partie 1 que j'ai faite.

Ma macro arrive egalement a mettre en visible le bouton de la ligne selectionné et a retirer celui qui le precede

le problème 2 est celui ci:

les boutons ont deux non: soit pause ou on call

si c'est on call ce que je souhaite c'est que peuit importe si je suis en ligne 20,28,1.... il faut que tous les boutons avec le titre on call reste actif. aurez tu une idée la dessus.

voici un exemple detourné pour arriver a l'objectif

en cliquant sur le bouton 30 (par exemple)une seule fois vous verrez que le bouton reste visible grace a la valeur inscrite en colonne 10 et 11

cela vous aide il?
 

Pièces jointes

Re : macro pour cacher /montrer boutons sur feuille excel

si c'est on call ce que je souhaite c'est que peuit importe si je suis en ligne 20,28,1.... il faut que tous les boutons avec le titre on call reste actif. aurez tu une idée la dessus.

Si j'ai bien compris cette section, lorsque l'usager clique sur une cellule de la colonne i , si le bouton porte comme nom "Call", il faut que tous les boutons ayant ce nom (caption) de la plage de cellules s'affichent. Est-ce la même chose si le bouton porte le nom "Pause"?

À quel moment veux-tu masquer les boutons? (que doit-il se passer dans la feuille?)
Quel rapport il y a-t-il entre les colonnes 10 et 11 et les boutons?

J'avoue ne pas comprendre la donne du problème!
 
Re : macro pour cacher /montrer boutons sur feuille excel

re

je pense avoir compris mon problème

*****************************************

ActiveSheet.Shapes("Bouton" & n).Select


If Selection.Characters.Text = "pause" Then
Selection.Characters.Text = "on call"
*******************************************



sauriez vous comment changer le character text SANS faire la selection du shape?

j'ai tenté ActiveSheet.Shapes("Bouton" & n).name= "on call" (ca marchera pas car c'est le nom du bouton et non pas l'intitulé)

Merci de votre aide
 
Re : macro pour cacher /montrer boutons sur feuille excel

Bonjour,

2 situations possible selon qu'il s'agit d'un contrôle émanant de la barre d'outils "formulaire" ou "contrôle"

VB:
'J'ai supposé que le nom du bouton provenait de la barre
'd'outils formulaire
----------------------------------------------------------
Sub test()

With Worksheets("Feuil1")
    .Shapes("Bouton 1").OLEFormat.Object.Caption = "toto"
End With
End Sub
----------------------------------------------------------

'J'ai supposé que le nom du bouton provenait de la barre
'd'outils Contrôle
----------------------------------------------------------
Sub test1()
With Worksheets("Feuil1")
    .Shapes("CommandButton1").OLEFormat.Object.Object.Caption = "toto"
End With
End Sub
 
Re : macro pour cacher /montrer boutons sur feuille excel

Bonsoir à tous

Dans le cas d'un CommanbButton, on peut aussi utiliser ceci
Code:
Sub test2()
Feuil1.CommandButton1.Caption = "toto"
End Sub

et pour un bouton de la barre outils formulaire
Code:
Sub test3()
Feuil1.Shapes("Bouton 1").TextFrame.Characters.Caption = "toto"
'ou aussi
'Feuil1.Shapes(1).TextFrame.Characters.Caption = "toto"
End Sub
 
Dernière édition:
Re : macro pour cacher /montrer boutons sur feuille excel

Merci encore a tous

Je me permets de revenir sur le fichier.

J'ai identifié quelque chose que je pourrai améliorer

tous les boutons sont reliés à la meme macro

des que vous ouvrez le fichier la ligne selectionné est la 25.

supposons que vous cliquez sur le bouton oncall situé en ligne 11: si on suit cette instruction, ca va mettre une date en cellulle j25 a cause que cest cette ligne qui est selectionné

en restant sur cet exemple, sauriez vous comment mettre la date sur la ligne du bouton cliqué et non par rapport a la ligne selectionné?

Merci a tous
 

Pièces jointes

Re : macro pour cacher /montrer boutons sur feuille excel

Peux-tu publier la dernière version de ton fichier ?

Je ne comprends pas vraiment l'objectif que tu poursuis pour cette macro...Par conséquent, il m'est difficile d'écrire une procédure à moins que tu décides de tenter ta chance et essaie à nouveau de redéfinir la problématique. Il y a sûrement quelqu'un qui a une idée sur le sujet.

S.V.P., évite ce type de description : "dès que vous ouvrez le fichier, la ligne sélectionnée est la 25."
Tu parles d'une ligne de code, d'une feuille de calcul, cette feuille à un nom ? Plus la description est précise, plus cela aide ceux qui veulent intervenir.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

M
Réponses
3
Affichages
4 K
_matt_44
M
Retour