OVH Cloud OVH Cloud

controle saisie inputbox

6 réponses
Avatar
ga51
Bonjour à toutes et à tous,

je désirerais contrôler que la saisie dans une Inputbox est conforme à
ce qui est demandé. A savoir: date sous format jj mm aa.

J'affiche la date sous ce format par défaut, mais elle doit pouvoir être
modifiable si besoin.

Il faut que cette saisie soit obligatoire.

Merci beaucoup de votre aide.

Cordialement

6 réponses

Avatar
Florian
Bonsoir



Sub saisie_datejour()

On Error Resume Next

[A1] = CDate(InputBox("Si la date vous convient, cliquez sur OK ", _

"Veuillez saisir une date", Format(Now, "dd/mm/yy")))

End Sub

Flo riant

"ga51" a écrit dans le message de news:
e2t24V%
Bonjour à toutes et à tous,

je désirerais contrôler que la saisie dans une Inputbox est conforme à ce
qui est demandé. A savoir: date sous format jj mm aa.

J'affiche la date sous ce format par défaut, mais elle doit pouvoir être
modifiable si besoin.

Il faut que cette saisie soit obligatoire.

Merci beaucoup de votre aide.

Cordialement







Avatar
twinley
Bonjour Florian

J'ai une erreur de compile, et ce n'est pas le tiret de retour à la ligne.
La syntaxe est bonne ? C'est très difficle de corriger à cause du
compactage...

à+twinley

Florian wrote:
Bonsoir



Sub saisie_datejour()

On Error Resume Next

[A1] = CDate(InputBox("Si la date vous convient, cliquez sur OK ", _

"Veuillez saisir une date", Format(Now, "dd/mm/yy")))

End Sub

Flo riant

"ga51" a écrit dans le message de news:
e2t24V%

Bonjour à toutes et à tous,

je désirerais contrôler que la saisie dans une Inputbox est conforme à ce
qui est demandé. A savoir: date sous format jj mm aa.

J'affiche la date sous ce format par défaut, mais elle doit pouvoir être
modifiable si besoin.

Il faut que cette saisie soit obligatoire.

Merci beaucoup de votre aide.

Cordialement












Avatar
anonymousA
bonjour,

n'oblige pas l'utilisateur à saisir une date au format jj mm aa.
D'ailleursn ta proc permet de rentrer tout ce que tu veux comme
caractères et donc une possibilité de plantage.
Histoire juste de l'améliorer et d'obliger l'utilisateur à saisir uen
séquence numérique (note bien que je ne parle pas d'une date au format
jj mm aa), voici un petit exemple

On Error Resume Next
Do
Err.Clear
[A1] = CDate(InputBox("Si la date vous convient, cliquez sur OK ",
"Veuillez saisir une date", Format(Now, "dd/mm/yy")))
Loop While Err.Number <> 0

A+

Bonsoir



Sub saisie_datejour()

On Error Resume Next

[A1] = CDate(InputBox("Si la date vous convient, cliquez sur OK ", _

"Veuillez saisir une date", Format(Now, "dd/mm/yy")))

End Sub

Flo riant

"ga51" a écrit dans le message de news:
e2t24V%

Bonjour à toutes et à tous,

je désirerais contrôler que la saisie dans une Inputbox est conforme à ce
qui est demandé. A savoir: date sous format jj mm aa.

J'affiche la date sous ce format par défaut, mais elle doit pouvoir être
modifiable si besoin.

Il faut que cette saisie soit obligatoire.

Merci beaucoup de votre aide.

Cordialement












Avatar
Florian
Bonjour anonymousA
Il est vrai que si l'on veut vraiment obliger la saisie de dates
mieux vaut utiliser carrément un calendrier Calendar
Flo riant

"anonymousA" a écrit dans le message de news:
42d64051$0$22305$
bonjour,

n'oblige pas l'utilisateur à saisir une date au format jj mm aa.
D'ailleursn ta proc permet de rentrer tout ce que tu veux comme caractères
et donc une possibilité de plantage.
Histoire juste de l'améliorer et d'obliger l'utilisateur à saisir uen
séquence numérique (note bien que je ne parle pas d'une date au format jj
mm aa), voici un petit exemple

On Error Resume Next
Do
Err.Clear
[A1] = CDate(InputBox("Si la date vous convient, cliquez sur OK ",
"Veuillez saisir une date", Format(Now, "dd/mm/yy")))
Loop While Err.Number <> 0

A+

Bonsoir



Sub saisie_datejour()

On Error Resume Next

[A1] = CDate(InputBox("Si la date vous convient, cliquez sur OK ", _

"Veuillez saisir une date", Format(Now, "dd/mm/yy")))

End Sub

Flo riant

"ga51" a écrit dans le message de news:
e2t24V%

Bonjour à toutes et à tous,

je désirerais contrôler que la saisie dans une Inputbox est conforme à ce
qui est demandé. A savoir: date sous format jj mm aa.

J'affiche la date sous ce format par défaut, mais elle doit pouvoir être
modifiable si besoin.

Il faut que cette saisie soit obligatoire.

Merci beaucoup de votre aide.

Cordialement













Avatar
twinley
Ben si, c'était un espace invisible qui s'est glissé là en copié-collé.
Autant pour moi.

Mis en évidence grâce à la confirmation du code par aA...à qui j'adresse
un merci pour l'exemple de gestion d'erreur ! sobre, élégant, efficace,
etc. etc.
je l'adopte.

à+twinley

anonymousA wrote:
bonjour,

n'oblige pas l'utilisateur à saisir une date au format jj mm aa.
D'ailleursn ta proc permet de rentrer tout ce que tu veux comme
caractères et donc une possibilité de plantage.
Histoire juste de l'améliorer et d'obliger l'utilisateur à saisir uen
séquence numérique (note bien que je ne parle pas d'une date au format
jj mm aa), voici un petit exemple

On Error Resume Next
Do
Err.Clear
[A1] = CDate(InputBox("Si la date vous convient, cliquez sur OK ",
"Veuillez saisir une date", Format(Now, "dd/mm/yy")))
Loop While Err.Number <> 0

A+


Bonsoir



Sub saisie_datejour()

On Error Resume Next

[A1] = CDate(InputBox("Si la date vous convient, cliquez sur OK ", _

"Veuillez saisir une date", Format(Now, "dd/mm/yy")))

End Sub

Flo riant

"ga51" a écrit dans le message de news:
e2t24V%

Bonjour à toutes et à tous,

je désirerais contrôler que la saisie dans une Inputbox est conforme
à ce qui est demandé. A savoir: date sous format jj mm aa.

J'affiche la date sous ce format par défaut, mais elle doit pouvoir
être modifiable si besoin.

Il faut que cette saisie soit obligatoire.

Merci beaucoup de votre aide.

Cordialement














Avatar
ga51
Bonsoir,

Effectivement cette proc oblige à saisir une valeur numérique mais il
faudrais que le format soit dd mm yy car je récupère cette date dans le
nom d'un fichier et les / ne passent pas.
Il faut donc obliger la saisie de: 2 chiffres espace 2 chiffres espace 2
chiffres, ex: 14 07 05.
De plus il me faut afficher une msgbox du genre:
MsgBox "Vous ne respectez pas le format demandé ! " & Chr(13) & "
Recommencez avec format: JJ MM AA", vbExclamation

Merci pour l'aide


Cordialement


bonjour,

n'oblige pas l'utilisateur à saisir une date au format jj mm aa.
D'ailleursn ta proc permet de rentrer tout ce que tu veux comme
caractères et donc une possibilité de plantage.
Histoire juste de l'améliorer et d'obliger l'utilisateur à saisir uen
séquence numérique (note bien que je ne parle pas d'une date au format
jj mm aa), voici un petit exemple

On Error Resume Next
Do
Err.Clear
[A1] = CDate(InputBox("Si la date vous convient, cliquez sur OK ",
"Veuillez saisir une date", Format(Now, "dd/mm/yy")))
Loop While Err.Number <> 0

A+


Bonsoir



Sub saisie_datejour()

On Error Resume Next

[A1] = CDate(InputBox("Si la date vous convient, cliquez sur OK ", _

"Veuillez saisir une date", Format(Now, "dd/mm/yy")))

End Sub

Flo riant

"ga51" a écrit dans le message de news:
e2t24V%

Bonjour à toutes et à tous,

je désirerais contrôler que la saisie dans une Inputbox est conforme
à ce qui est demandé. A savoir: date sous format jj mm aa.

J'affiche la date sous ce format par défaut, mais elle doit pouvoir
être modifiable si besoin.

Il faut que cette saisie soit obligatoire.

Merci beaucoup de votre aide.

Cordialement