verrouiller ajout texte dans une zone de texte

olivierk1450

XLDnaute Nouveau
Bonjour,

Je cherche un code VBA pour verrouiller l'écriture dans une zone de texte. J'ai trouvé ca :
ActiveSheet.Shapes.Range(Array("Text Box")).Select
Selection.Locked = msoFalse

Mais ca n'empeche pas l'écriture dans la zone de texte. Ca protège uniquement la sélection de la zone texte.

Une solution ?
Merci d'avance .....
 

job75

XLDnaute Barbatruc
Re : verrouiller ajout texte dans une zone de texte

Bonjour olivierk1450,

La TextBox doit avoir été créée avec la Boîte à outils Contrôles (contrôle ActiveX).

Alors mettre dans le code de la feuille :

Code:
Private Sub TextBox1_GotFocus()
ActiveCell.Activate
End Sub
A+
 

olivierk1450

XLDnaute Nouveau
Re : verrouiller ajout texte dans une zone de texte

Bonjour,

Merci pour la réponse. Cela m'a aidé.
J'ai trouvé autre chose mais j'ai un problème
Avec le code ci dessous, je parviens à proteger ma textbox. Mais une fois protégée je ne peux plus y accéder même si la condition est remplie ($c$2=1) car le GotFocus ne fonctionne pas une fois enabled = false activée

Private Sub TextBox1_GotFocus()
If [$c$2] = 1 Then
With TextBox1
.Enabled = True
.Locked = False
End With
End If
If [$c$2] = 0 Then
With TextBox1
.Locked = True
.Enabled = False
End With
End If
End Sub



Fichier en pièce jointe
Encore merci
 

Pièces jointes

  • Classeur1.xlsm
    19.2 KB · Affichages: 103
  • Classeur1.xlsm
    19.2 KB · Affichages: 105
  • Classeur1.xlsm
    19.2 KB · Affichages: 116
Dernière édition:

job75

XLDnaute Barbatruc
Re : verrouiller ajout texte dans une zone de texte

Bonjour,

C"est comme au supermarché...

Quand on s'est servi on s'en va - sans passer à la caisse :confused:

Et on revient 5 jours après demander un échange si ce qu'on a pris ne convient pas.

Mais bon je suis de bon poil ce soir :)

Alors évidemment avec votre solution ce n'est pas l'évènement GotFocus qui convient.

Mais l'évènement Change de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With TextBox1
  If [C2] = 1 Then
    .Enabled = True
    .Locked = False
  ElseIf [C2] = 0 Then
    .Locked = True
    .Enabled = False
  End If
End With
End Sub
A+
 

olivierk1450

XLDnaute Nouveau
Re : verrouiller ajout texte dans une zone de texte

Bonjour,

Rien à voir avec le supermarché..... juste un week end un peu long ! Sans penser au boulot.....
Heureusement je suis tombé sur un bon soir !
Mille merci. Tout fonctionne impeccable.
Parfait comme d'hab.
A+
 

Discussions similaires

Réponses
5
Affichages
153
Réponses
2
Affichages
177

Statistiques des forums

Discussions
312 295
Messages
2 086 958
Membres
103 404
dernier inscrit
sultan87