• Initiateur de la discussion Initiateur de la discussion gege21
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gege21

XLDnaute Occasionnel
bonjours a tous,
j'ai un code qui me permet de crée un graphique suivant une plage de date
les date sont saisi comme cela "01/05/2010"
ma question et que je voudrai que les "/" s'affiche automatiquement lors
de la saisi
mais comment faire 😕
 

Pièces jointes

Re : saisi dans texbox

Bonjour,

un essai avec l'impossibilité de mettre des lettres sur la textbox1 en plus...

VB:
Private Sub TextBox1_Change()
If Len(TextBox1) = 2 Or Len(TextBox1) = 5 Then TextBox1 = TextBox1 & "/"
End Sub

Private Sub TextBox2_Change()
If Len(TextBox2) = 2 Or Len(TextBox2) = 5 Then TextBox2 = TextBox2 & "/"
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
MsgBox KeyCode
Select Case KeyCode
    Case 8
        If Len(TextBox1) = 3 Or Len(TextBox1) = 6 Then TextBox1 = Left(TextBox1, Len(TextBox1) - 2)
        Exit Sub
    Case 9, 13, 16, 17, 27, 36 To 41, 46
      Exit Sub
    Case Is > 57, Is < 48
      KeyCode = 0
End Select
End Sub
 
Re : saisi dans texbox

bonjour softmana

pour le textbox2 tout marche bien
pour le textbox1 sa ne marche pas de que je veux entre une date j'ai de message box qui apparies
pour que sa marche j'ai du supprimer
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
MsgBox KeyCode
Select Case KeyCode
Case 8
If Len(TextBox1) = 3 Or Len(TextBox1) = 6 Then TextBox1 = Left(TextBox1, Len(TextBox1) - 2)
Exit Sub
Case 9, 13, 16, 17, 27, 36 To 41, 46
Exit Sub
Case Is > 57, Is < 48
KeyCode = 0
End Select
End Sub
et sa a forcement une utilité
il faudrait aussi que quand je sélectionne le textbox il efface les ancien données
 
Re : saisi dans texbox

bonjour gege21,Softmama
il faut l'ecrire comme cela pour si erreur utiliser la touche suppr & annuler la derniere frappe
pour vider quand tu selectionne la textox (focus) trop complexe a mettre en place le mieux dessous chaque textbox un bouton pour vider la textbox

Code:
Dim chge As Boolean
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Select Case KeyCode
  Case Is = 8
  chge = True
  Case Is = 13, 96 To 105
   Case Else
   KeyCode = 0
  End Select
End Sub
Private Sub TextBox1_KeyUP(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Select Case KeyCode
   Case Is = 46
   chge = True
   TextBox1 = ""
    End Select
   End Sub
Private Sub TextBox1_Change()
      If Not chge Then
    With TextBox1
      Select Case Len(.Text)
     Case 2, 5
     .Text = .Text & "/"
     End Select
    End With
    Else
    chge = False
    End If
End Sub

ne pas oublie de mettre la variable en debut de module

Code:
Dim chge As Boolean

idem pour textbox2
 
Re : saisi dans texbox

salut tout le monde
N ayant pas la possibilité d ouvrir ton fichier, je t’apporte mon idée (peut-être a coté)
Pour saisir les dates rapidement dans un TB

Saisie :
_________________________________
Private Sub TextBox1_Change()
Dim Texte As String
Texte = TextBox1.Text
Select Case Len(Texte)
Case 2, 5
Texte = Texte & "/"
End Select
TextBox1.Text = Texte
End Sub
_____________________________________
Et contrôle de dates plausibles:
_____________________________________
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(TextBox1.Text) Then
TextBox1.Text = Format(TextBox1.Value, "dd/mm/yYYy")
Else
MsgBox "le format de date est incorrect.", vbOKOnly + vbCritical, "Attention....": Exit Sub
End If
End Sub

voilou
bonne journée
EetF
 
Re : saisi dans texbox

bonjours laetitia90,Evelynetfrancois

merci pour votre réponse je pré-faire le code de Evelynetfrancois pour le moment (plus court)
par contre le contrôle de date ne marche pas

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(TextBox1.Text) Then
TextBox1.Text = Format(TextBox1.Value, "dd/mm/yYYy")
Else
MsgBox "le format de date est incorrect.", vbOKOnly + vbCritical, "Attention....": Exit Sub
End If
End Sub
😕

pour effacer a la sélection du textbox j'ai trouvé sa
Code:
Private Sub TextBox2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
TextBox2 = ""
End Sub
quand penser vous
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
307
Réponses
6
Affichages
643
Réponses
9
Affichages
321
  • Question Question
Microsoft 365 Remplissage auto
Réponses
14
Affichages
380
Réponses
1
Affichages
129
Retour