Userform/Masque de saisie textbox ,format 0000/00 [Fermé]

Signaler
Messages postés
11
Date d'inscription
jeudi 22 mars 2012
Statut
Membre
Dernière intervention
28 octobre 2015
-
Messages postés
7095
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
27 novembre 2020
-
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

3 réponses

Messages postés
7095
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
27 novembre 2020
579
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
11
Date d'inscription
jeudi 22 mars 2012
Statut
Membre
Dernière intervention
28 octobre 2015
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
7095
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
27 novembre 2020
579
Voici le formatage de la feuille pour ceux que cela intéresse:

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

cdlt
Messages postés
7095
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
27 novembre 2020
579
Je me suis planté, je l'ai fait pour une cellule!!!!!!!!!!!

Cela servira toujours