Userform/Masque de saisie textbox ,format 0000/00

ssassam Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
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 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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   Statut Membre Dernière intervention   1
 
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 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Je me suis planté, je l'ai fait pour une cellule!!!!!!!!!!!

Cela servira toujours
0