Ne pas changer la couleur d'un textbox quand il est enabled=false

Bonjour à tous !

Je cherche à conserver la couleur d'un textbox quand il est disabled (enabled = false). Bref, je ne veux pas qu'il se "grise" !

Certes, il y a la solution du "locked=true" mais le pointeur de souris permet quand-même de sélectionner le text.

Or, je ne veux pas que le curseur puisse entrer dans la zone.

Avez-vous une solution élégante ?

Toute aide sera grandement appréciée.

Merci d'avance pour vos réponses !

Bonjour,

Peut-être ainsi ...

Option Explicit
Dim loc As Boolean

Private Sub CommandButton_Fermer_Click()
   Unload Me
End Sub

Private Sub CommandButton_Verrouiller_Click()
   loc = True
End Sub

Private Sub CommandButton_Deverrouiller_Click()
   loc = False
End Sub

Private Sub TextBox1_Enter()
  If loc = True Then Me.TextBox2.SetFocus ' << adapter à l'endroit préféré
End Sub

Private Sub UserForm_Activate()
   loc = False
End Sub

ric

Bonjour Ric,

Merci pour ta réponse mais ce n'est pas vraiment ce que je cherche à faire...

Bonjour,

Mon code empêche de sélectionner le texte quand le textbox est "verrouillé" virtuellement ...

Le texte du textbox ne change pas de couleur quand le textbox est verrouillé ...

Le setfocus peut être appliqué sur un autre contrôle quand verrouillé ...

Présentement > le verrou s'applique à l'aide d'un bouton > mais il suffit de placer "loc = True" au bon endroit dans un autre code pour verrouiller > puis de placer "loc = False" au bon endroit dans un autre code pour déverrouiller ...

Je crois que cela correspond à la demande ...

Teste-le à l'aide du fichier joint ...

ric

21testest.xlsm (22.14 Ko)

Bonjour Ric,

Je comprends ton code et merci d'avoir pris le temps de le faire et de me l'envoyer, j'apprécie.

Mais en fait, je cherchais quelque chose de plus...radical. Du genre, redéfinir la couleur pour un élément dont enabled=false.

Bonjour,

Qu'est-ce qui t'empêche de changer la couleur du fond ou du texte quand le verrouillage virtuel est activé et de remettre les couleurs voulues en déverrouillant ?

M'enfin > je te laisse t'amuser avec cela ...

Du peu que j'en sais > quand un textbox.enabled = False l'on ne peut pas changer ni le fond ni la police ...

ric

Du peu que j'en sais > quand un textbox.enabled = False l'on ne peut pas changer ni le fond ni la police ...

Ouaip, c'est vraiment dommage...je pensais qu'il existait une API windows pour changer ça mais j'ai beau fouiller sur le net, je ne trouve pas.

Merci encore !

Bonsoir…

L’accès à un contrôle Textbox (.Enabled) est soumis selon une condition (plus ou moins dévelopée) !

On peut jouer* sur celui-ci, ses couleurs en ajoutant quelques macros.

Private Sub TextBox1_Enter()
  'gestion de l’accès
  If TextBox1 = "oui" Then TextBox2.SetFocus
End Sub
Private Sub TextBox1_AfterUpdate()
  'pour débrider mais pas nécessaire selon l'envie
  Label1.Visible = TextBox1 = "oui"
  TextBox1.BackColor = IIf(TextBox1 = "oui", vbRed, vbWhite)
End Sub
Private Sub Label1_Click()
  'débridage
  TextBox1.BackColor = vbWhite: TextBox1 = "": Label1.Visible = 0
End Sub

*quand l’esthétisme l’importe, on doit le soigner

Merci pour vos réponses les gars !

Rechercher des sujets similaires à "pas changer couleur textbox quand enabled false"