Userform/Masque de saisie textbox ,format 0000/00

Fermé
ssassam Messages postés 11 Date d'inscription jeudi 22 mars 2012 Statut Membre Dernière intervention 28 octobre 2015 - 26 mars 2014 à 14:06
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 27 mars 2014 à 14:01
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
A voir également:

3 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
27 mars 2014 à 11:44
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
1
ssassam Messages postés 11 Date d'inscription jeudi 22 mars 2012 Statut Membre Dernière intervention 28 octobre 2015 1
27 mars 2014 à 12:24
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
1
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
27 mars 2014 à 14:01
Voici le formatage de la feuille pour ceux que cela intéresse:

rep = Target.Value 'valeur de la cellule
Selection.NumberFormat = "@"

cdlt
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
27 mars 2014 à 12:36
Je me suis planté, je l'ai fait pour une cellule!!!!!!!!!!!

Cela servira toujours
0