Format text box
Résolu
surplus
Messages postés
673
Date d'inscription
Statut
Membre
Dernière intervention
-
surplus Messages postés 673 Date d'inscription Statut Membre Dernière intervention -
surplus Messages postés 673 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'aurais besoin de savoir si on peut enregistrer la valeur d'un textbox sous 2 formats différents
je m'explique c'est pour un textbox ou sera rentrée une immatriculation
1) les anciennes immat commencent par des chiffres ex: 0000 PLA 00 les lettres sont 2 ou 3
2)les nouvelles commencent par des lettres ex: "CV-875-LV" 2 lettres 3 chiffres 2 lettres
donc si je rentre des chiffres en premier formater en ex 1 si je rentre des lettres en 1er formater en ex 2
merci de votre aide
a bientôt
j'aurais besoin de savoir si on peut enregistrer la valeur d'un textbox sous 2 formats différents
je m'explique c'est pour un textbox ou sera rentrée une immatriculation
1) les anciennes immat commencent par des chiffres ex: 0000 PLA 00 les lettres sont 2 ou 3
2)les nouvelles commencent par des lettres ex: "CV-875-LV" 2 lettres 3 chiffres 2 lettres
donc si je rentre des chiffres en premier formater en ex 1 si je rentre des lettres en 1er formater en ex 2
merci de votre aide
a bientôt
A voir également:
- Format text box
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Set-top box - Accueil - Box & Connexion Internet
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
5 réponses
Bonjour,
Voici une macro qui fait cela
Cliquer dans le TextBox et mettre cette macro
Voici une macro qui fait cela
Cliquer dans le TextBox et mettre cette macro
Option Explicit
Dim num As Boolean
Private Sub TextBox1_Change()
If num = True Then '1er caractère
Dim Valeur As Byte
'ancien
TextBox1.MaxLength = 11 'nb caracteres maxi dans textbox
Valeur = Len(TextBox1)
If Valeur = 4 Or Valeur = 8 Then TextBox1 = TextBox1 & " "
Else
'nouveau
TextBox1.MaxLength = 9 'nb caracteres maxi dans textbox
Valeur = Len(TextBox1)
If Valeur = 2 Or Valeur = 6 Then TextBox1 = TextBox1 & "-"
End If
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not IsNumeric(Chr(KeyAscii)) And Not Chr(KeyAscii) = ":" Then
num = False
Else
num = True
End If
End Sub
Bonjour
c'est pas tout a fait ça
on arrive pas a avoir 4 chiffres alignes ex 2550 MN 17
et pour les lettres on obtient ml-1 25lm
mon textbox est TextBox125 donc tout ce qui est TexBox1 j ai renommé en TextBox125
a+++
c'est pas tout a fait ça
on arrive pas a avoir 4 chiffres alignes ex 2550 MN 17
et pour les lettres on obtient ml-1 25lm
mon textbox est TextBox125 donc tout ce qui est TexBox1 j ai renommé en TextBox125
a+++
J'ai corrigé le code. Mais il restera un problème si dans les anciennes plaques tu as 3 chiffres ou 3 lettres et dans les nouvelles si tu as 2 chiffres.
Code valable pour 4 chiffres, 2 lettres et 2 chiffres (ancienne numérotation)
2 lettres, 3 chiffres et 2 lettres (nouvelle numérotation)
Option Explicit
Dim num As Boolean
Dim caract As String
Private Sub TextBox1_Change()
If num = True Then '1er caractère
Dim Valeur As Byte
'ancien
TextBox1.MaxLength = 11 'nb caracteres maxi dans textbox
Valeur = Len(TextBox1)
If Valeur = 4 Or Valeur = 8 Then TextBox1 = TextBox1 & " "
Else
'nouveau
TextBox1.MaxLength = 9 'nb caracteres maxi dans textbox
Valeur = Len(TextBox1)
If Valeur = 2 Or Valeur = 6 Then TextBox1 = TextBox1 & "-"
End If
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
caract = Left(TextBox1.Value, 1)
If IsNumeric(caract) Then
num = True
Else
num = False '
End If
End Sub
Code valable pour 4 chiffres, 2 lettres et 2 chiffres (ancienne numérotation)
2 lettres, 3 chiffres et 2 lettres (nouvelle numérotation)
bonsoir
merci pour ton aide je vais faire avec ça vu que mon département est avec 2 chiffres en anciennes plaques ça fera l'affaire
merci
bon week-end
a bientôt
merci pour ton aide je vais faire avec ça vu que mon département est avec 2 chiffres en anciennes plaques ça fera l'affaire
merci
bon week-end
a bientôt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il faut mettre ce code dans la feuille où ce situe ta cellule:
2 lettres, 3 chiffres et 2 lettres (nouvelle numérotation)
Tu entres ton immatriculation sans espace ou tiret et ensuite tu cliques sur ta cellule, cela sera corrigé.
Option ExplicitCode valable pour 4 chiffres, 2 lettres et 2 chiffres (ancienne numérotation)
Dim num As Boolean
Dim caract, Rep As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$C$13" Then
Rep = Range("C13").Value
caract = Left(Rep, 1)
If IsNumeric(caract) Then
num = True
Else
num = False
End If
If num = True Then '1er caractère
Dim Valeur As Byte
'ancien
Rep = Range("C13").Value
Valeur = Len(Rep)
If Valeur > 10 Then Exit Sub 'si valeur exacte
caract = Left(Rep, 3)
Rep = Replace(Rep, caract, caract & " ") 'ajout espace à gauche
caract = Right(Rep, 2)
Rep = Replace(Rep, caract, " " & caract) 'ajout espace à droite
Range("C13").Value = Rep
Else
'nouveau
Rep = Range("C13").Value
Valeur = Len(Rep)
If Valeur > 8 Then Exit Sub 'si valeur exacte
caract = Left(Rep, 2)
Rep = Replace(Rep, caract, caract & "-") 'ajout - à gauche
caract = Right(Rep, 2)
Rep = Replace(Rep, caract, "-" & caract) 'ajout - à droite
Range("C13").Value = Rep
End If
End If
End Sub
2 lettres, 3 chiffres et 2 lettres (nouvelle numérotation)
Tu entres ton immatriculation sans espace ou tiret et ensuite tu cliques sur ta cellule, cela sera corrigé.