Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[ VBA ] >> Problème avec le ANNULER d'un InputBox ......

T

Tchupacabra

Guest
[ VBA ] >> Problème avec le ANNULER d'un InputBox ......

Bonjour à tous,

je voudrais obliger l'utilisateur a rentrer une date à l'aide d'un InputBox :

OptionExplicit
Dim Message As String
Dim Annee As Integer

Message = Chr(10) & Chr(10) & " Quelle est l'année de référence ? " & Chr(10) & Chr(10)
Do
Annee = InputBox(Message, " Création de la constante Annee", Format(Date, "yyyy"))
Loop Until (Annee > 2050) And (Annee < 2000)



Le problème est lorsque l'utilisateur rentre autre chose qu'une date ou lorsque il clic sur ANNULER !

Alors mes questions :
1) Est-il possible d'enlever le bouton ANNULER ?
2) Comment obliger l'utilisateur a ne mettre que des chiffres ?

merci d'avance

@+
 
P

Pascal76

Guest
Re: [ VBA ] >> Problème avec le ANNULER d'un InputBox ......

Bonjour

Non tu ne peux pas le retirer le bouton annuler
En fait l'appui sur le bouton Annuler te renvoies une chaine vide

tu peux faire du style

Debut:

Message = Chr(10) & Chr(10) & " Quelle est l'année de référence ? " & Chr(10) & Chr(10)
MonAnnee = InputBox(Message, " Création de la constante Annee", Format(Date, "yyyy"))

If MonAnnee < 2000 Or MonAnnee > 2050 Then
MsgBox "L'année doit être comprise entre 2000 et 2050"
GoTo Debut
End If

Pascal
 
T

Tchupacabra

Guest
Re: [ VBA ] >> Problème avec le ANNULER d'un InputBox ......

c'est dommage qu'on ne puisse pas supprimer le bouton ANNULER......

le problème est que j'ai :

Option Explicit
avec
Dim Annee as Integer

Donc j'obtiens une erreur de type si on affecte une chaine à Annee

@+
 
P

Pascal76

Guest
Re: [ VBA ] >> Problème avec le ANNULER d'un InputBox ......

Re

Tiens voilà légèreemnt modifié

Dim MonAnnee As Integer

Debut:

Message = Chr(10) & Chr(10) & " Quelle est l'année de référence ? " & Chr(10) & Chr(10)
On Error Resume Next
MonAnnee = InputBox(Message, " Création de la constante Annee", Format(Date, "yyyy"))

If MonAnnee < 2000 Or MonAnnee > 2050 Then
MsgBox "L'année doit être comprise entre 2000 et 2050"
GoTo Debut
End If

Bon courage

Pascal
 

Discussions similaires

Réponses
2
Affichages
549
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…