Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

TextBox

8 réponses
Avatar
Benoît
Bonjour,

je n'arrive pas à prendre en compte les valeurs rentrées par un utilisateur
dans une textBox. en effet , l'utilisateur doit rentrer une date de format
jj/mm dans une textBox
et je voudrais la recuperer dans une cellule pour declencher une macro.

pouvez vous m'aider ??

merci

8 réponses

Avatar
Daniel.C
Bonjour.
Utilise le code suivant :

Private Sub TextBox1_Change()
If Len(TextBox1.Text) = 5 Then
If Mid(Me.TextBox1.Text, 3, 1) = "/" And
IsNumeric(Left(Me.TextBox1.Text, 2)) And _
IsNumeric(Right(Me.TextBox1.Text, 2)) Then
If Left(Me.TextBox1.Text, 2) <= 31 And Right(Me.TextBox1.Text,
2) Then
'met(s ici le nom de la macro à appeler
Else
MsgBox "Erreur de saisie"
Me.TextBox1.Text = ""
End If
Else
MsgBox "Erreur de saisie"
Me.TextBox1.Text = ""
End If
End If
End Sub

Note que le contrôle de vraisemblance n'est qu'approximatif.
Cordialement.
Daniel

Bonjour,

je n'arrive pas à prendre en compte les valeurs rentrées par un utilisateur
dans une textBox. en effet , l'utilisateur doit rentrer une date de format
jj/mm dans une textBox
et je voudrais la recuperer dans une cellule pour declencher une macro.

pouvez vous m'aider ??

merci


Avatar
Daniel.C
Oups.

Private Sub TextBox1_Change()
If Len(TextBox1.Text) = 5 Then
If Mid(Me.TextBox1.Text, 3, 1) = "/" And
IsNumeric(Left(Me.TextBox1.Text, 2)) And _
IsNumeric(Right(Me.TextBox1.Text, 2)) Then
If Left(Me.TextBox1.Text, 2) <= 31 And Right(Me.TextBox1.Text,
2) <= 12 Then
'met(s ici le nom de la macro à appeler
Else
MsgBox "Erreur de saisie"
Me.TextBox1.Text = ""
End If
Else
MsgBox "Erreur de saisie"
Me.TextBox1.Text = ""
End If
End If
End Sub

Daniel

Bonjour.
Utilise le code suivant :

Private Sub TextBox1_Change()
If Len(TextBox1.Text) = 5 Then
If Mid(Me.TextBox1.Text, 3, 1) = "/" And IsNumeric(Left(Me.TextBox1.Text,
2)) And _
IsNumeric(Right(Me.TextBox1.Text, 2)) Then
If Left(Me.TextBox1.Text, 2) <= 31 And Right(Me.TextBox1.Text, 2)
Then
'met(s ici le nom de la macro à appeler
Else
MsgBox "Erreur de saisie"
Me.TextBox1.Text = ""
End If
Else
MsgBox "Erreur de saisie"
Me.TextBox1.Text = ""
End If
End If
End Sub

Note que le contrôle de vraisemblance n'est qu'approximatif.
Cordialement.
Daniel

Bonjour,

je n'arrive pas à prendre en compte les valeurs rentrées par un
utilisateur
dans une textBox. en effet , l'utilisateur doit rentrer une date de format
jj/mm dans une textBox
et je voudrais la recuperer dans une cellule pour declencher une macro.

pouvez vous m'aider ??

merci




Avatar
MichDenis
Bonjour Benoît,

Une autre variante :

'----------------------------
Private Sub CommandButton1_Click()
Dim S As String, T As String
Pattern = "[0-3][0-9][/][0-1][0-9]"
T = Me.TextBox1
If T <> Pattern And _
Not IsDate(Format(T & "/" & Year(Date), "dd/mm/yy")) Then
MsgBox "La saisie ne représente pas une date possible!"
Me.TextBox1 = ""
Me.TextBox1.SetFocus
End If
End Sub
'----------------------------



"Benoît" a écrit dans le message de groupe de discussion :

Bonjour,

je n'arrive pas à prendre en compte les valeurs rentrées par un utilisateur
dans une textBox. en effet , l'utilisateur doit rentrer une date de format
jj/mm dans une textBox
et je voudrais la recuperer dans une cellule pour declencher une macro.

pouvez vous m'aider ??

merci
Avatar
Benoît
Bonsoir & merci

j'ai essayé la version à Daniel & cela marche impecc !!

pour la version à Michel, j'ai un problème de fonctionnement qui doit être
inehrent à mon UserForm

car ma TextBox commence p)ar l'instruction "Private Sub TextBox1_Change()"

et je n'arrive pas à la faire fonctionner avec cette version

en attendant, merci à vous 2

bonne soirée

"MichDenis" a écrit dans le message de groupe de
discussion :
Bonjour Benoît,

Une autre variante :

'----------------------------
Private Sub CommandButton1_Click()
Dim S As String, T As String
Pattern = "[0-3][0-9][/][0-1][0-9]"
T = Me.TextBox1
If T <> Pattern And _
Not IsDate(Format(T & "/" & Year(Date), "dd/mm/yy")) Then
MsgBox "La saisie ne représente pas une date possible!"
Me.TextBox1 = ""
Me.TextBox1.SetFocus
End If
End Sub
'----------------------------



"Benoît" a écrit dans le message de groupe de
discussion :

Bonjour,

je n'arrive pas à prendre en compte les valeurs rentrées par un
utilisateur
dans une textBox. en effet , l'utilisateur doit rentrer une date de
format
jj/mm dans une textBox
et je voudrais la recuperer dans une cellule pour declencher une macro.

pouvez vous m'aider ??

merci



Avatar
MichDenis
La procédure que j'ai proposé ne fonctionne pas si tu utilises l'événement
que tu mentionnes. Et je suis totalement d'accord avec toi.

J'ai utilisé un CommandButton_Clic pour vérifier si la saisie
du textbox par l'usager représentait un format de date attendu.

À toi de décider quelle approche correspond le mieux à ce que
tu désires faire.



"Benoît" a écrit dans le message de groupe de discussion :
#
Bonsoir & merci

j'ai essayé la version à Daniel & cela marche impecc !!

pour la version à Michel, j'ai un problème de fonctionnement qui doit être
inehrent à mon UserForm

car ma TextBox commence p)ar l'instruction "Private Sub TextBox1_Change()"

et je n'arrive pas à la faire fonctionner avec cette version

en attendant, merci à vous 2

bonne soirée

"MichDenis" a écrit dans le message de groupe de
discussion :
Bonjour Benoît,

Une autre variante :

'----------------------------
Private Sub CommandButton1_Click()
Dim S As String, T As String
Pattern = "[0-3][0-9][/][0-1][0-9]"
T = Me.TextBox1
If T <> Pattern And _
Not IsDate(Format(T & "/" & Year(Date), "dd/mm/yy")) Then
MsgBox "La saisie ne représente pas une date possible!"
Me.TextBox1 = ""
Me.TextBox1.SetFocus
End If
End Sub
'----------------------------



"Benoît" a écrit dans le message de groupe de
discussion :

Bonjour,

je n'arrive pas à prendre en compte les valeurs rentrées par un
utilisateur
dans une textBox. en effet , l'utilisateur doit rentrer une date de
format
jj/mm dans une textBox
et je voudrais la recuperer dans une cellule pour declencher une macro.

pouvez vous m'aider ??

merci



Avatar
Benoît
Bonjour,

j'aimerai une aide à propos de cette Textbox :
une fois la date correcte entrée, j'ai ma macro qui se déclenche & tout
marche impeccable.
il faudrait que la fois suivante, quand je rappelle la TextBox, le champ de
la date soit vide au lieu de contenir la derniere date entrée

merci d'avance

"Benoît" a écrit dans le message de groupe de
discussion : #
Bonsoir & merci

j'ai essayé la version à Daniel & cela marche impecc !!

pour la version à Michel, j'ai un problème de fonctionnement qui doit être
inehrent à mon UserForm

car ma TextBox commence p)ar l'instruction "Private Sub TextBox1_Change()"

et je n'arrive pas à la faire fonctionner avec cette version

en attendant, merci à vous 2

bonne soirée

"MichDenis" a écrit dans le message de groupe de
discussion :
Bonjour Benoît,

Une autre variante :

'----------------------------
Private Sub CommandButton1_Click()
Dim S As String, T As String
Pattern = "[0-3][0-9][/][0-1][0-9]"
T = Me.TextBox1
If T <> Pattern And _
Not IsDate(Format(T & "/" & Year(Date), "dd/mm/yy")) Then
MsgBox "La saisie ne représente pas une date possible!"
Me.TextBox1 = ""
Me.TextBox1.SetFocus
End If
End Sub
'----------------------------



"Benoît" a écrit dans le message de groupe de
discussion :

Bonjour,

je n'arrive pas à prendre en compte les valeurs rentrées par un
utilisateur
dans une textBox. en effet , l'utilisateur doit rentrer une date de
format
jj/mm dans une textBox
et je voudrais la recuperer dans une cellule pour declencher une macro.

pouvez vous m'aider ??

merci





Avatar
MichDenis
au moment où tu rappelles ton textbox, si tu veux le vider
tu dois utiliser cette ligne de code dans la procédure :

A ) si la procédure de rappel est dans le formulaire :
Me.TextBox1 = ""

B ) si la procédure est dans un module autre que le module du formulaire
Userform1.Me.TextBox1 = ""





"Benoît" a écrit dans le message de groupe de discussion :
#jlwtWK#
Bonjour,

j'aimerai une aide à propos de cette Textbox :
une fois la date correcte entrée, j'ai ma macro qui se déclenche & tout
marche impeccable.
il faudrait que la fois suivante, quand je rappelle la TextBox, le champ de
la date soit vide au lieu de contenir la derniere date entrée

merci d'avance

"Benoît" a écrit dans le message de groupe de
discussion : #
Bonsoir & merci

j'ai essayé la version à Daniel & cela marche impecc !!

pour la version à Michel, j'ai un problème de fonctionnement qui doit être
inehrent à mon UserForm

car ma TextBox commence p)ar l'instruction "Private Sub TextBox1_Change()"

et je n'arrive pas à la faire fonctionner avec cette version

en attendant, merci à vous 2

bonne soirée

"MichDenis" a écrit dans le message de groupe de
discussion :
Bonjour Benoît,

Une autre variante :

'----------------------------
Private Sub CommandButton1_Click()
Dim S As String, T As String
Pattern = "[0-3][0-9][/][0-1][0-9]"
T = Me.TextBox1
If T <> Pattern And _
Not IsDate(Format(T & "/" & Year(Date), "dd/mm/yy")) Then
MsgBox "La saisie ne représente pas une date possible!"
Me.TextBox1 = ""
Me.TextBox1.SetFocus
End If
End Sub
'----------------------------



"Benoît" a écrit dans le message de groupe de
discussion :

Bonjour,

je n'arrive pas à prendre en compte les valeurs rentrées par un
utilisateur
dans une textBox. en effet , l'utilisateur doit rentrer une date de
format
jj/mm dans une textBox
et je voudrais la recuperer dans une cellule pour declencher une macro.

pouvez vous m'aider ??

merci





Avatar
Benoît
Bonsoir,
je viens de tester & tout marche

merci

bonne soirée


"MichDenis" a écrit dans le message de groupe de
discussion : #JN2xgK#
au moment où tu rappelles ton textbox, si tu veux le vider
tu dois utiliser cette ligne de code dans la procédure :

A ) si la procédure de rappel est dans le formulaire :
Me.TextBox1 = ""

B ) si la procédure est dans un module autre que le module du formulaire
Userform1.Me.TextBox1 = ""





"Benoît" a écrit dans le message de groupe de
discussion :
#jlwtWK#
Bonjour,

j'aimerai une aide à propos de cette Textbox :
une fois la date correcte entrée, j'ai ma macro qui se déclenche & tout
marche impeccable.
il faudrait que la fois suivante, quand je rappelle la TextBox, le champ
de
la date soit vide au lieu de contenir la derniere date entrée

merci d'avance

"Benoît" a écrit dans le message de groupe de
discussion : #
Bonsoir & merci

j'ai essayé la version à Daniel & cela marche impecc !!

pour la version à Michel, j'ai un problème de fonctionnement qui doit
être
inehrent à mon UserForm

car ma TextBox commence p)ar l'instruction "Private Sub
TextBox1_Change()"

et je n'arrive pas à la faire fonctionner avec cette version

en attendant, merci à vous 2

bonne soirée

"MichDenis" a écrit dans le message de groupe de
discussion :
Bonjour Benoît,

Une autre variante :

'----------------------------
Private Sub CommandButton1_Click()
Dim S As String, T As String
Pattern = "[0-3][0-9][/][0-1][0-9]"
T = Me.TextBox1
If T <> Pattern And _
Not IsDate(Format(T & "/" & Year(Date), "dd/mm/yy")) Then
MsgBox "La saisie ne représente pas une date possible!"
Me.TextBox1 = ""
Me.TextBox1.SetFocus
End If
End Sub
'----------------------------



"Benoît" a écrit dans le message de groupe de
discussion :

Bonjour,

je n'arrive pas à prendre en compte les valeurs rentrées par un
utilisateur
dans une textBox. en effet , l'utilisateur doit rentrer une date de
format
jj/mm dans une textBox
et je voudrais la recuperer dans une cellule pour declencher une macro.

pouvez vous m'aider ??

merci