Backstyle récalcitrant...!

Résolu
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 - 22 févr. 2011 à 01:06
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 - 26 févr. 2011 à 20:06
Bonsoir,

Qui pourrait me dire pourquoi ça marche pas...?
Private Sub Validation_Click()

Application.ScreenUpdating = True
Validation.BackStyle = fmBackStyleTransparent
If Validation.Caption "AVEC" Then Validation.Caption "SANS" Else: Validation.Caption = "AVEC"

End Sub


Quand je clique le bouton "Validation", mon texte change normalement, mais le bouton n'est plus transparent....
Bon, oui, je peux tricher en lui donnant la couleur de mon fond, mais ce qui se trouve derrière le bouton demeure invisible!

En revanche, si je demande une impression, ou que je ferme et rouvre le fichier, il est bien transparent.

Comprends pas...

Merci de votre aide.

Cordialement

Rataxes64

21 réponses

CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
26 févr. 2011 à 20:06
Bonjour,

A force de batailler, ton code marche (enfin!) chez moi aussi , mais à la condition que le script du changement du .caption soit en dernier.

Certes, on ne peut pas supprimer le passage par .visible, mais les DoEvents peuvent l'être.

Private Sub Validation_Click()

Application.ScreenUpdating = False
ActiveSheet.Unprotect

'=> Initialisation de la valeur de BackStyle à 0 (transaparent)
Validation.BackStyle = 0

'=> Bouton caché
Validation.Visible = False

'=> Bouton visible
Validation.Visible = True

'=> Changement alterné du Caption du Bouton EN DERNIER
If Validation.Caption = "Avec Auto Contrôle" _
Then Validation.Caption = "Sans Auto Contrôle" _
Else: Validation.Caption = "Avec Auto Contrôle"

ActiveSheet.Protect

End Sub


Va comprendre pourquoi!


Cordialement
Rataxes64
0
Rejoignez-nous