Sélectionner une date avec InputBox

Nonno 94

XLDnaute Occasionnel
Bonjour le Forum,

je viens demander votre aide pour modifier le code suivant
Code:
Private Sub CommandButton4_Click()
Dim aa, a As Range
aa = InputBox("Saisissez la Date de début du Séjour au format jj/mm/aa", "Sélection du Séjour")
Set a = [L6:L57].Find(aa)

If a Is Nothing Then MsgBox "Ce n'est pas une Date de Séjour ! Resaisissez une Date.":     Exit Sub

    a.Select
    
End Sub



et pouvoir ainsi sélectionner une date dans la liste ci-dessous en la saisissant dans l'InputBox.


Code:
mercredi 15 juin 2011
lundi 12 décembre 2011

jeudi 25 novembre 2010
samedi 2 février 2008
mercredi 15 août 2012
lundi 4 mai 2009

Cette liste est limitée à 52 dates.
Je suppose que ce qui "cloche" dans mon code est le format de saisie de la date mais je ne parviens pas à corriger !
Remerciements pour vos réponses et bonne journée.

Cordialement.

Nonno 94.
 
Dernière édition:

Nonno 94

XLDnaute Occasionnel
Re : Sélectionner une date avec InputBox

Bonjour Pierrot,

comme à mon habitude, j'éprouve des difficultés à me faire comprendre.
Je vais donc essayer de "faire mieux" (pas difficile semble-t-il !).

Dans la liste de dates ci-dessus, comment sélectionner avec l'InputBox le samedi 2 février 2008 en saisissant 2/2/08 dans l'InputBox ?

J'espère que cela te permettra de répondre à ma question et de m'indiquer comment modifier "mon code bancal" !

Merci d'avance.

A +.
Nonno 94.
 
G

Guest

Guest
Re : Sélectionner une date avec InputBox

Bonjour Nono,

Pierrot:)

A tester, mais devrait le faire:
Code:
    If IsDate(aa) Then
        Set a = [L6:L57].Find(CDate(aa), LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows)
        If a Is Nothing Then MsgBox "Ce n'est pas une Date de Séjour ! Resaisissez une Date.": Exit Sub
        a.Select
    End If

If IsDate est là pour éviter de planter la fonction CDate(aa) au cas où l'utilsateur rentrerait autre chose qu'une date.

A+
 

job75

XLDnaute Barbatruc
Re : Sélectionner une date avec InputBox

Bonjour Nonno 94, Pierrot, Hasco,

Un code un peu plus élaboré pour contrôler l'entrée dans l'InpuBox :

Code:
Private Sub CommandButton1_Click()
Dim aa As String, a As Range
1 aa = InputBox("Saisissez la Date de début du Séjour au format jj/mm/aa", "Sélection du Séjour", aa)
If aa = "" Then Exit Sub
On Error Resume Next 'si aa n'est pas une date
Set a = [L6:L57].Find(CDate(aa), LookIn:=xlFormulas)
If a Is Nothing Then MsgBox "Ce n'est pas une Date de Séjour ! Resaisissez une Date.": GoTo 1
a.Select
End Sub
Fichier joint.

A+
 

Pièces jointes

  • InputBox(1).xls
    28 KB · Affichages: 64

Discussions similaires

Statistiques des forums

Discussions
312 697
Messages
2 091 065
Membres
104 750
dernier inscrit
Chukky