controles de saisie dans inputbox

  • Initiateur de la discussion Initiateur de la discussion boudu
  • 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 !

boudu

XLDnaute Occasionnel
Bonjour au forum
Je reviens sur un travail pour lequel j'ai déjà été aidé par pierrejean
j'ai du laisser mon projet de coté du fait d'autres occupations

Voila, il s'agit d'un projet de getion d'occupation de bureaux
5 utilisateurs remplissent des fichiers (testrecopie dans mon exemple)
ensuite une personne lance inputbox4 pour recopier dans un seul fichier qui aura pour nom la date du jour le contenu (format et données des 5 fichiiers d'origine)

Je voudrais rajouter des controles de saisie sur l'inputbox:
1 Validation du format
2 verification date valide
3 gestion d'une pression sur le X de fermeture de l'inputbox
4 gestion du bouton annuler

Merci d'avance
 

Pièces jointes

Re : controles de saisie dans inputbox

bonjour boudu

Salut Skoobi

vois si cela te convient

Code:
Do While Not IsDate(question)
question = InputBox( _
"Merci de saisir la date souhaitée au format jj/mm/aaaa", "Saisie de la date", , 1000, 3000)
 MsgBox ("Une date S.V.P")
Loop
 

Pièces jointes

Re : controles de saisie dans inputbox

Bonjour PierreJean,
Ok pour ton code, j'allais me lancer mais j'ai u ta réponse, j'ajouterais néanmoins une condition de sortie sans changer le principe 😉
Hello skoobi, tu peux donc aussi faire ça
Code:
    Do
        question = InputBox( _
        "Merci de saisir la date souhaitée au format jj/mm/aaaa", "Saisie de la date", , 1000, 3000)
        If question = "" Then Exit Do
    Loop While Not IsDate(question)
Bon après-midi

Correction -> Rendu à Pierre ce j'avais attribué à Jacques 😱
 
Dernière édition:
Re : controles de saisie dans inputbox

re

@ Epaf

1) moi cest pierrejean

2) dans ta version il serait preferable d'avoir

Code:
   If question = "" Then Exit [COLOR=red]sub[/COLOR]

en effet avec exit do la macro continue avec une reponse=""

ma version est, il est vrai, un tantinet " obstinée "

@ boudu

tu as le choix de la reaction au clic sur la croix ou Annuler
 
Re : controles de saisie dans inputbox

bonjour PierreJean, epaf Skooby et le forum

Merci pour toutes ces propositions
Je fais des tests et je vous dis

De toutes façons ce n'est qu'une partie du probleme parce qu'apres je souhaite pouvoir recuperer le contenu de la variable question pour aller chercher les données dans les 5 fichiers qui ont un calendrier pré défini sur plusieurs mois

le but est d'avoir un fichier final portant le nom de la date et synthetisant les données saisies dans les 5 fichiers initiaux

Bonne continuation à tous
 
Re : controles de saisie dans inputbox

Re
Pierrejean, epaf skooby
En fait la solution de pierrejean est effectivement tres insistante (a tel point qu'on ne peut plus sortir de la boucle
en fait j'aurais aimer gerer differemment les evenements:
si le format de date n'est pas ok, on repose la question
si on appuie sur le X de la fenetre ou sur annuler on ferme carrément excel
il faudrait non seulement que le format date soit valide mais dans une plage réaliste (genre de 2006 à 2020 par exemple) pour eviter de se retrouver avec des dates valides mais issues d'une erreur de saisie (genre à la fin on met 2070 au lieu de 2007

Merci
 
Re : controles de saisie dans inputbox

Re
est-il possible de quitter carrément excel si le X est pressé?
En fait, vu comment j'ai imaginé le deroulement il faudrait aussi que "annuler" fasse quitter excel
voila le resultat des propositions
merci de m'indiquer s'il est possible d'ajouter la validité des dates et de quitter completement excel à la fin de la procedure (j'ai mis application.quit mais ça ne ferme pas tout

merci
 
Re : controles de saisie dans inputbox

Bonjour le fil,

pour quitter excel fait cette modification:

Do
question = InputBox( _
"Merci de saisir la date souhaitée au format jj/mm/aaaa", "Saisie de la date", , 1000, 3000)
If question = "" Then
Application.DisplayAlerts = False
Application.Quit
Exit Sub
End If

Loop While Not IsDate(question)

Que veux-tu dire par la validité des dates, de vérifier que cette date existe dans l'autre fichier?

A+
 
Re : controles de saisie dans inputbox

re
merci skooy
par validité de la date je veux dire qu'elle doit etre logique(entre 01 10 2007 et01 01 2020 par exemple) c'est dire pouvoir empecher une erreu de saisie qui crerait un fichier du genre 01 10 2070 au lieu de 2007
si ce genre d'erreur se produit l faudrait un message date invalide

à +
 
Re : controles de saisie dans inputbox

Dans ce cas là tu ajoutes un test sur question > DateInférieure & inférieur DateSupérieure
Tu déclares dans ta sub
Code:
dim ok as boolean
en fin de boucle, tu ajoutes
Code:
Ok = Cdate(question) > DateInf  and cdate(question) < DateSup
et tu ajoutes une condition dans ton loop ou do while
Code:
Loop While Not IsDate(question) or not ok
@+

Edit
Déclare DateInf as date et DateSup as date et n'oublie pas de les renseigner
 
Dernière édition:
Re : controles de saisie dans inputbox

bonsoir le fil,

On peut imaginer une date mini et maxi en fonction de la date du jour :

Code:
Sub testDate()
Dim dateinf As Date
Dim datesup As Date

    dateinf = Date
    datesup = Date + 365
    
    MsgBox "Date mini : " & Format(dateinf, "dd mmmm yyyy") & vbLf & _
                "Date maxi : " & Format(datesup, "dd mmmm yyyy")
End Sub
Çà permettra d'éviter les plantages en 2020! 😛

bonne soirée
 
Re : controles de saisie dans inputbox

bonsoir le fil,

On peut imaginer une date mini et maxi en fonction de la date du jour :

Code:
Sub testDate()
Dim dateinf As Date
Dim datesup As Date

    dateinf = Date
    datesup = Date + 365
    
    MsgBox "Date mini : " & Format(dateinf, "dd mmmm yyyy") & vbLf & _
                "Date maxi : " & Format(datesup, "dd mmmm yyyy")
End Sub
Çà permettra d'éviter les plantages en 2020! 😛

bonne soirée
Bonsoir Luki,
Et tu intègres comment la saisie ?
Bonne soirée
@+
 
- 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

L
Réponses
1
Affichages
1 K
Lucien31
L
C
Réponses
1
Affichages
1 K
C
D
Réponses
2
Affichages
1 K
didousama
D
Retour