Userform/Masque de saisie textbox ,format 0000/00
ssassam
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour tout le monde ,
Svp j'ai encore besoin de votre aide,
J'aimerais bien créer un masque de saisie pour mon texbox au format suivant "0000"/"00"
a noter que si j'entre par exemple 9/14 le format de sortie sera 0009/14
Pièce jointe : http://cjoint.com/14ma/DCAod68OIbo.htm
Exp :
0001/14
0007/14
0099/14
0358/14
9999/14
Merci pour votre aide
Svp j'ai encore besoin de votre aide,
J'aimerais bien créer un masque de saisie pour mon texbox au format suivant "0000"/"00"
a noter que si j'entre par exemple 9/14 le format de sortie sera 0009/14
Pièce jointe : http://cjoint.com/14ma/DCAod68OIbo.htm
Exp :
0001/14
0007/14
0099/14
0358/14
9999/14
Merci pour votre aide
3 réponses
-
Bonjour,
je vois que tu n'as pas eu de réponse, donc voici le code en vba
Il faut mettre ce code dans la feuille où ce situe tes cellules:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim pos As Integer
Dim caract, rep As String
On Error Resume Next 'permet de travailler sur la feuille
rep = Target.Value 'valeur de la cellule
If rep = "" Then Exit Sub 'si cellule vide
pos = InStr(rep, "/") 'position du /
If pos = 2 Then
caract = Left(rep, 1) 'on récupère le 1er caractère
rep = Replace(rep, caract, "000" & caract) 'on ajoute 000 au 1er carctère
Target.Value = rep 'on actualise la cellule
ElseIf pos = 3 Then
caract = Left(rep, 2)
rep = Replace(rep, caract, "00" & caract)
Target.Value = rep
ElseIf pos = 4 Then
caract = Left(rep, 3)
rep = Replace(rep, caract, "0" & caract)
Target.Value = rep
End If
End Sub
J'ai mis des commentaires pour que tu comprennes ce qui a été fait
Bonne programmation
-
Merci beaucoup , cs_Le Pivert
Ton code et bien mais il lui manque le mode de formatage d'une feuille
J'ai enfin trouvé la bonne réponse
C'est un code a intégré dans une textbox
Private Sub TextBox1_Change()
If Right(TextBox1, 1) = "/" Then
TextBox1 = Format(Left(TextBox1, Len(TextBox1) - 1), "0000") & "/"
End If
End Sub
Merci -
Je me suis planté, je l'ai fait pour une cellule!!!!!!!!!!!
Cela servira toujours