Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Format Textbox à la saisie

  • Initiateur de la discussion Initiateur de la discussion cathodique
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cathodique

XLDnaute Barbatruc
Bonsoir🙂,

Je voudrais imposer un format à la saisie dans une textbox qui représente un numéro siret.
Ex: xxx xxx xxx xxxxx (3 chiffres espace 3 chiffres espace 3 chiffres espace 5 chiffres).
Les espaces se rajoutent automatiquement.

C'est à dire si ce format n'est pas respecter la textbox ne perd pas le focus pour corriger.

Merci beaucoup.

Bonne soirée.
 

Pièces jointes

😉 Mon expérience sur le forum: On a plus de chance d'avoir des retours en ouvrant une nouvelle discussion.

Bonne soirée.
 
bonjour
j'avais oublié l'anti filoutage pour les petits malins
a savoir :revenir avec la souris a une position caret(curseur) qui est exempté(interdite) normalement en rédaction
je viens de m'en rendre compte en mettant a jour mon datebox international
c'est donc fait pour celui ci aussi 😉
a moment perdu j’améliorerais le décalage pour les positions (mid ,chaine,x,plus de 1) comme dans ce cas présent " / "(3 caracteres)

VB:
Option Explicit
Private Sub Tsiret_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Dim Mask$, txt$, s&, longg&, plus&
    Mask = "XXX / XXX XX XX"
       If Tsiret = "" And KeyCode <> 8 And KeyCode <> 46 Then Tsiret = Mask
    txt = Tsiret.Value:    If txt = Mask Then Tsiret.SelStart = 0
    s = Tsiret.SelStart:
    longg = Tsiret.SelLength: If longg = 0 Then longg = 1
    plus = IIf(KeyCode < 96, 32, -48):
    Select Case KeyCode
    Case 96 To 105,65 to 90
        If s = Len(Mask) Then KeyCode = 0: Exit Sub
        If Mid(Mask, s + 1, 1) <> "X" Then KeyCode = 0: s = s + 1: Tsiret.SelStart = s: Exit Sub
        Mid(txt, s + 1, longg) = Chr(KeyCode + plus) & Mid(Mask, s + 2, longg - 1): KeyCode = 0
        Tsiret = txt: Tsiret.SelStart = IIf(InStr(1, Tsiret, "X") = 0, s + 1, InStr(1, Tsiret, "X") - 1)
    Case 8
        If s <> 0 Then Mid(txt, s, longg + 1) = Mid(Mask, s, longg + 1) Else Exit Sub
        Tsiret = txt: Tsiret.SelStart = s - 1: KeyCode = 0
        If txt = Mask Then Tsiret = ""
    Case 46
        If Tsiret = "" Then Exit Sub
        If longg = 0 Then longg = 1
        Mid(txt, s + 1, longg) = Mid(Mask, s + 1, longg)
        Tsiret = txt: Tsiret.SelStart = s: KeyCode = 0
        If txt = Mask Then Tsiret = ""

    Case 39: Tsiret.SelStart = s + 1
    Case 37: Tsiret.SelStart = s - IIf(s > 0, 1, 0)
    Case 13:    ' touche enter  fait ce que tu veux c'est la sortie
    Case Else: KeyCode = 0
    End Select
End Sub
 
Bonjour le forum
Bonjour le fil
De nouveau merci Patrick. Je ne suis pas parvenu à mettre des majuscules dans ton fichier. Les saisies restent en minuscules malgré la déclaration 65 To 90 ? A te lire.
Bonne journée à toi ainsi qu'à toutes & à tous
@+ Eric c
 
Bonjour le fil

[suggestion en passant]
Eric C
Ne serait-ce point le moment d'ouvrir ton propre fil*?
Histoire que la lecture du fil cathodique reste fluide.
*: dans lequel rien de t'empechede citer l'URL de celui-ci 😉
[/suggestion en passant]
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
667
Réponses
4
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…