Controle de la valeur saisie

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

L

lafouine4478

Guest
[Resolu] Controle de la valeur saisie

Bonjour a toutes et tous,

Je galère pour gerer les erreurs possible faite par un utilisateur lors de la saisie d'une valeur format date.

Sub Test2()


Dim Donnee As Variant
Dim varDate As Date

Donnee = Application.InputBox("Saisissez la date de fin de mois au format date 30/04/2010:", "Date fin de Mois")

If Donnee = o Then
MsgBox " opération annulée"
Exit Sub
End If

'Intercepte l'utilisation du bouton "Annuler" et la croix de fermeture.
If VarType(Donnee) = vbBoolean Then
MsgBox " opération annulée"
Exit Sub
End If

varDate = Donnee

MsgBox varDate
MsgBox Donnee
End Sub

Je désire prendre en compte que l'utilisateur rentre du texte ou un autre format de date ex 20.10.2010

J'ai tester en prenat directement une valeur date mais je ne peut plus gerer le bouton annulé ou la croix de la msgbox
 
Dernière modification par un modérateur:
Re : Controle de la valeur saisie

Bonsoir Lafouine, bonsoir JNP,
Essaie comme ceci , on rentre que le mois et l'année.
Bruno
Code:
Dim Donnee As Variant
Dim varDate As Date
debut:
ladate = Application.InputBox("Saisissez le mois et l'année au format 04/2010", "Date fin de Mois")
If ladate = "" Then
MsgBox " opération annulée"
Exit Sub
End If
'Intercepte l'utilisation du bouton "Annuler" et la croix de fermeture.
If VarType(ladate) = vbBoolean Then
MsgBox " opération annulée"
Exit Sub
End If
On Error Resume Next
ladate = CDate("15/" & ladate)
If Err <> 0 Then Err.Clear: MsgBox "Recommencer": GoTo debut
MsgBox CDate(DateSerial(Year(ladate), Month(ladate) + 1, 0))
 
Re : Controle de la valeur saisie

youky(BJ) pas mal ton code mais il me faut une date de fin de mois ouvré Voila pourquoi je désirai saisir la date complète je pensait intégrer Weekday dans le Cdate mais ca foire,

CDate(weekday(DateSerial(Year(ladate), Month(ladate) + 1, 0), 2))

Mais cela me ressort une date complètement fausse 04/01/1990 par exemple

On y ajoutera les jour fériés d'une plage
 
Dernière modification par un modérateur:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
762
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
353
  • Question Question
Microsoft 365 Contrôle sur date
Réponses
8
Affichages
404
Réponses
2
Affichages
406
Réponses
4
Affichages
516
Retour