Gérer le format introduit dans un InputBox
Bonjour le Forum,
J’ai une superbe procédure de recherche, mais j'aimerai gérer au maximum les erreurs, donc :
Dans cette procédure, je fais une recherche sur une colonne complète, les variable pour effectuer cette recherche provienne d'un InputBox et le problème est que si l'utilisateur introduit un mauvais format (ex : 01/15/2003 ou blablabla) il y a une erreur donc j'aimerai tester le format de la variable avant de commencer la recherche et je ne connais pas la syntaxe pour tester un format
:oops:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
Private Sub rech()
Dim i As Integer, Datedeb As Date, Datefin As Date
Dim graph As Chart
Application.ScreenUpdating = False
If Sheets("Index").OptionButton10.Value = True Then
Datedeb = Sheets("Index").TextBox1
Datefin = Sheets("Index").TextBox2
End If
If Sheets("Index").OptionButton7.Value = True Then
Datedeb = Date - 388
Datefin = Date - 30
End If
du = Date
au = Date
'tester si les dates sont dans un format correct
'If Datedeb OR Datefin <> DATE.Format Then
'MsgBox "Les dates doivent être dans un format JJ/MM/AAAA"
'Exit Sub
'End If
If Datedeb >= Datefin Then
MsgBox "la date de fin doit être postérieure à la date de début"
Exit Sub
End If
With Sheets("Données")
For i = 4 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(i, 2) = Datedeb Then
Ligdeb = i
du = .Cells(i, 2)
Exit For
ElseIf .Cells(i, 2) > Datedeb Then
Ligdeb = i - 1
du = .Cells(i - 1, 2)
Exit For
End If
Next
For i = 4 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(i, 2) = Datefin Then
LigFin = i
au = .Cells(i, 2)
Exit For
ElseIf .Cells(i, 2) > Datefin Then
LigFin = i - 1
au = .Cells(i - 1, 2)
Exit For
End If
Next
End With
End Sub |