Bonjour à tous,
je vous soumets mon problème :
dans une feuille, j'ai crée 1 bouton-bascule transparent.
Malheureusement, lorsque l'on clique dessus, il devient opaque et le reste.
Ils ne redevient transparent que lorsque l'on rouvre le fichier après l'avoir fermé.
Que faut-il faire pour qu'il reste toujours transparent ?
Voici le lien qui vous permettre d'accéder au fichier :
Cijoint.fr - Service gratuit de dépôt de fichiers
Le bouton est en D 8.
Je vous remercie pour votre aide et vous souhaite une bonne journée.
Cordialement.
En utilisant simplement les propriétés, je crois me souvenir que ce n'est pas possible ...
Par contre tu peux tester le code suivant :
VB:
Private Sub ToggleButton1_MouseDown _
(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
With ToggleButton1
.Visible = False
.Value = Not .Value
.Visible = True
End With
End Sub
Bonjour,
vifs remerciements pour le code qui fonctionne parfaitement.
En espérant ne pas abuser, je souhaite vous poser une autre question à propos de mon fichier :
le bouton-bascule permet de montrer ou de masquer une forme automatique (bulle).
Est-il possible de faire en sorte que si cette forme automatique est "montrée" lorsque l'on s'apprête à fermer le fichier, elle soit automatiquement masquée lorsqu'on le ferme et le reste à la réouverture du fichier; n'étant montrée que lorsque l'on clique à nouveau sur le bouton-bascule.
En vous remerciant pour votre patience et vos conseils.
Bonne journée.
Au sujet de ta seconde question, tu dois pouvoir assez facilement utiliser une variable de type Boolean (Vrai - Faux) qui sera modifiée par ton bouton-bascule..., pour contrôler tes affichages ... tant à la fermeture qu'à l'ouverture de ton classeur ...
Je souhaite qu'à l'ouverture du fichier, toutes les bulles soient masquées; y compris celles qui étaient "montrées" à la fermeture précédente.
En l'occurence, si les bulles insérées au dessus des cellules E 8 et J 16 étaient "montrées" lors de la précédente fermeture du fichier, je souhaiterais qu'elles soient masquées à sa prochaine ré-ouverture.
J'espère avoir été clair.
Je renouvelle mes remerciements pour la patience dont vous faites preuve.
A bientôt, j'espère.
Cordialement.
Il faut placer ce code dans le module ThisWorkbook, et bien sûr adapter le code suivant aux noms de tes AutoShapes ... ( car, dans le classeur posté, elles ont des numéros bizarrement élevés ...)
VB:
Option Explicit
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Feuil2.Shapes("AutoShape 1").Visible = True Then Feuil2.Shapes("AutoShape 1").Visible = False
If Feuil2.Shapes("AutoShape 2").Visible = True Then Feuil2.Shapes("AutoShape 2").Visible = False
End Sub
A +
P.S. J'ai confondu ... tes numéros sont 4 et 10 ... à la place de 1 et 2 ...
Rassurez-vous cher James,
une fois de +, vos conseils se sont avérés judicieux et tout fonctionne parfaitement.
Concernant les n° des "AutoShapes", j'ai l'intention de faire (prudemment !) le ménage après ces tatonnements.
Si tout se passe bien, je ne devrais plus vous importuner à ce sujet.
A bientôt, peut-être, pour de nouvelles aventures "Excelliennes" !
Pour tout de dire, Edmond... dans mon ravissement, il y a toujours un peu de soulagement, quand je subodore que le classeur pour le Forum n'est qu'un bout du classeur original ...
car des conflits avec d'autres macros ... sont toujours possibles ...
Good afternoon dear James,
Ainsi que je vous l'annoncais hier, après avoir entré tous les codes que vous m'avez obligemment communiqués, j'ai essayé de faire le ménage dans les n° de cContrôles et de fFormes automatiques.
Pour les Contrôles, tout s'est parfaitement passé; ce qui ne fut pas le cas pour les "Autoshapes".
Ma question du jour est donc la suivante (juste pour vous distraire !) :
comment faire par exemple, pour que dans le fichier que vous avez pu "admirer", je change les n° des formes 4 et 10 en 1 et 2 pour rester "classique" ?
Remerciements (anticipés ?) pour votre réponse.