Xl/Vba nbre caractere restant dans label ??

Résolu
7808622H Messages postés 331 Statut Membre -  
7808622H Messages postés 331 Statut Membre -
Bonjour

une petite question sur laquelle je seche :

J'ai un userform1 dans lequel un textbox (TB_Descr) ne doit contenir que 30 caractères maximum

J'ai placé un label a coté (label19) et je voudrais que celui ci indique "OK" ou "PAS OK" selon le nombre de caractères saisi

Voila alors j'ai vaguement trouvé un truc pour limiter le nombre de caractères mais ça marche pas

Private Sub TB_Descr_Initialize()
TB_Descr.MaxLength = 30
End Sub

....du coup j'ai pensé au label qui alerte, mais je ne trouve pas non plus comment faire

Sinon le top serait de voir le nombre de caractères restant dans le label, lorsque l'on saisi dans le Textbox

Voila si quelqu'un peu m'aider ca serait super sympa

Bonne soirée

( attention version d'excel : 2002 , cela implique que tout les codes Vba ne marchent pas forcément



CED

4 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Normalement pas de raison que MaxLength ne fonctionne pas.
    Un exemple (sur 2003) avec MaxLength =30 et affichage du reste :
    Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
        Label1 = "reste : " & 30 - Len(TextBox1)
    End Sub

    https://www.cjoint.com/?BLBwuTixgwz

    eric
    1
  2. 7808622H Messages postés 331 Statut Membre 4
     
    Génial

    Merci Eric, ca marche nickel ( bon j ai juste mis a 29 caracteres sinon j'avais un décallage d'1)

    Bonne journée
    0
  3. 7808622H Messages postés 331 Statut Membre 4
     
    Bonjour Eric

    Je me suis apercu d'un petit problème ( bon j'espère que tu verras le message malgrès le RESOLU) concernant les labels qui indiquent le nombre de caractere retant ' dans le deuxieme onglet du formulaire

    En effet si tu tentes de saisir une quinzaine de caractères, et qu'en plein milieu tu en sélectionnes quelques uns en les supprimant, le label n'est plus cohérent, parfois il met + de caractères restant que prévu, parfois moins

    Y a t'il une solution pour que le label s'actualise a chaque saisie ou modif de saisie ?

    https://www.cjoint.com/?0AjviwLLHAA

    C'est vraiment le seul dernier petit bug que j'ai recensé ( bon je n'ai pas la bonne version du fichier ici mais le probleme est identique, les dernières modifs ne sont qu'au niveau de formules

    Je te remercie d'avance

    Passe une bonne soirée
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonsoir,

      Oui, même si le fil est résolu je vois quand même les nouveaux messages.

      Rajoute :
      Sheets("DossContrat").Range("h47").Value = TextBox7.Value
      dans l'évènement Change du contrôle.

      eric
      0
  4. 7808622H Messages postés 331 Statut Membre 4
     
    Le probleme c'est que c'est déja le cas

    C'est le label correspondant qui s'actualise mal
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      heuu, j'ai dû faire un mauvais copier coller de ligne...
      Ajouter :
      Label19 = "reste : " & 30 - Len(TextBox7)
      dans l'évènement Change

      eric
      0
    2. 7808622H Messages postés 331 Statut Membre 4
       
      Yes apparament c'est tout bon

      Merci beaucoup ;-)

      Bonne journée Eric
      0