verrouillage d'un userform

Hugues

XLDnaute Impliqué
Bonjour le Forum,

A partir d'un bouton qui appelle un userform, on peut consulter les coordonnées d'une structure
- liste déroulante : choisir un code
- les coordonnées s'affichent (recherches à partir d'une base de données située sur une feuille du classeur).

Mon problème, l'ensemble des champs sont modifiables.
Je souhaiterais :
- que l'utilisateur puisse juste consulter
- et eventuellement s'il y a saisie, un message apparaît par le biais d'une msgbox.

Merci pour votre aide,
ci joint le fichier.

Hugues [file name=Copie_agenda_3.zip size=38237]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Copie_agenda_3.zip[/file]
 

Pièces jointes

  • Copie_agenda_3.zip
    37.3 KB · Affichages: 18

Hellboy

XLDnaute Accro
Bonjour Hugues

Si j'ai bien saisis, par exemple le TextBox3 qui contient l'adresse , tu ne veux pas que l'utilisateur puisse manuellement modifier la valeur directement dans le Userform.

Il te suffit de pointer sur ta forme, sur exemple ton TextBox3; aller dans ses propriétés et mettre la propriété:

Locked a TRUE
 

Hugues

XLDnaute Impliqué
Bonjour Philippe, Bonjour le Forum

Merci à toi pour la réponse,

Dans la même catégorie, j'ai créé un formulaire avec des zones de saisie. Je souhaiterais effectuer un renvoi à la ligne quand la saisie est trop longue. J'ai dimensionné le textbox en hauteur.

Existe-t-il une instruction à disposer dans les propriétés de la Texbox ?

Merci par avance,

Hugues
 

Hellboy

XLDnaute Accro
re

Je te propose cette façon de faire:

N'oublie pas de mettre la propriété MultiLine de ton textbox a TRUE



Private Sub TextBox1_Change()
Const iLongeurLigne As Integer = 5    ' définit la longueur de la ligne (5 caractères)

With TextBox1
'    Je traite différemment la première ligne des autres
   
If TextBox1.LineCount > 1 Then
   
'    Ici je m'assure que la ligne est assez longue avant d'aller ds la boucle
           
If Len(Mid(.Text, Len(.Text) - iLongeurLigne, 5)) > 4 Then
    '    Traitement de les 5 dernier caract`res de la string au complet du textbox
               
For Item = 1 To iLongeurLigne
                               
If Mid(.Text, Len(.Text) - Item, 1) = vbCr Then
                                    bolCrFound =
True
                                   
Exit For
                               
End If
               
Next Item
           
'    Si aucun retour de ligne n'a été détecté, un retour de ligne sera rajouté
               
If bolCrFound = False Then
                        .Value = .Value & vbCr
               
End If
           
End If
' Traitement de la première ligne
   
Else
           
If Len(.Text) = iLongeurLigne Then
           
'    Ajoute un retour de ligne au bout
                .Value = .Value & vbCr
           
End If
   
End If
End With

End Sub

Message édité par: Hellboy, à: 06/09/2005 22:03
 

Discussions similaires

Statistiques des forums

Discussions
312 097
Messages
2 085 261
Membres
102 844
dernier inscrit
atori2