Imposer un nombre de caractères d’un textbox

Chasse

XLDnaute Occasionnel
Bonsoir le forum
Dans les propriétés d’un textbox, avec maxlength je limite le nombre de caractères.
Mais comment en imposer le nombre, en l’occurrence (13)

Un très grand merci à tous et bonne soirée
 

saya

XLDnaute Nouveau
Re : Imposer un nombre de caractères d’un textbox

Bonsoir à tous,

J'ai pensé à 2 solutions que je te propose dans le fichier joint. J'ai créé un userform, appelé par la macro essai, sur lequel j'applique 2 macros.

La deuxième nécessite la présence d'un bouton valider, car je ne sais pas repérer la fin de focus sur un contrôle.

J'espère que cela pourra t'aider,

Bonne soirée,
Saya
 

Pièces jointes

  • macro imposer nb de caractère d'un textbox.xlsm
    19.9 KB · Affichages: 116

Pierrot93

XLDnaute Barbatruc
Re : Imposer un nombre de caractères d’un textbox

Bonjour,

regarde ceci, pour un textbox placé sur un userform :
Code:
Option Explicit
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox1) < 13 Then Cancel = True
End Sub

bonne journée
@+
 

saya

XLDnaute Nouveau
Re : Imposer un nombre de caractères d’un textbox

Bonjour à tous,

Mouarf, je ne savais pas quel mot-clé utiliser pour signifier la fin de focus sur un contrôle, mais maintenant que je te lis, pierrot93, "_Exit" parait évident ^_^

Merci pour l'info :)
Saya
 

Chasse

XLDnaute Occasionnel
Re : Imposer un nombre de caractères d’un textbox

Bonjour saya, carcharodon-carcharias et Pierrot93

J’ai mis beaucoup de temps à vous répondre (normal suis Suisse )

Un grand merci à Saya c’est grâce à toi et ton fichier joint que je vais enfin voir le bout du tunnel.
Je n’ai personnellement pas joint de fichier, car ma question me semblait simple
Maxlength pour le < et "minus????" pour le <
Code:
Private Sub CMDOK_Click()
Dim tailleTexte, messageErreur As Integer
     tailleTexte = ChoisirOptions.TextBox1.TextLength
    If Refusé.Value = False Then
    ElseIf tailleTexte <> 13 Then
        'si la taille du texte est différente de 13, la couleur de fond de la zone devient rouge, un message d'erreur apparait et la macro est arrêtée
        ChoisirOptions.TextBox1.BackColor = 192
        messageErreur = MsgBox("Attention, vous n'avez pas saisi le bon nombre de caractères. Veuillez rectifier", vbCritical + vbOKOnly, "Erreur nombre de caractères")
        Exit Sub
    Else
    'sinon, tout va bien, la macro continue
      ChoisirOptions.TextBox1.BackColor = 15204351
    End If 
Unload ChoisirOptions
Dim CMDOK As String
Etc etc

Merci à tous pour votre aide
 

Discussions similaires

Réponses
15
Affichages
581

Statistiques des forums

Discussions
312 497
Messages
2 088 988
Membres
104 000
dernier inscrit
dinelcia