Continuer une procédure VBA avec resume lors d'une erreur

Bonjour
Dans une procédure, si une mauvaise date est saisie, j'ai une période de durée négative et le calcul qui en découle en est bien sûr faussé.
Je ne vois pas comment utiliser la procédure On error et resume pour faire en sorte que la saisie erronée puisse être annulée et resssaisie dans la même textbox pour poursuivre le reste de la procédure....

arrCM = Cells(lign, 11) ' arrivée ex: 10 juin
TxBDepCM= Cells(lign, 10) ' départ ex: 08 juin
séjour = DateDiff("d", arrCM, TxBDepCM) séjour= -2

..J'ai consulté la gestion des erreurs d'Excel mais je ne vois pas comment effectuer cette commande...
une explication me serait d'une grande aide... Merci

Bonjour

A tester
arrCM = Cells(lign, 11) ' arrivée ex: 10 juin
TxBDepCM = Cells(lign, 10) ' départ ex: 08 juin
séjour = DateDiff("d", arrCM, TxBDepCM)

If séjour < 0 Then
    MsgBox "La durée du séjour ne peut pas être négative. Veuillez vérifier les dates.

Si cela convient passer le sujet en résolu

Crdlt

Merci pour cette réponse ..
Bien sûr; l'opérateur sera informé de son erreur mais cela n'indique pas comment ressaisir la bonne date et continuer le procédure...

Bonjour,

Je pense que le mieux est de gérer cela directement à la source avec une validation de donnée, donc :

  • Sélectionner la cellule de départ
  • Aller dans Groupe de données.
  • Validation de données.
  • Autoriser : Date
  • Données : Supérieur à
  • Date de début : C$11
  • Onglet Message de saisie : Optionnel à vous de voir
  • Onglet Alerte d'erreur
  • Titre : "Erreur de saisie"
  • Message de saisie : "La date de départ doit-être supérieure à la date d'arrivée !"
  • Valider : OK

Faire de même pour les autres cellules concernées.

Bonjour

a

arrCM = Cells(lign, 11) ' arrivée ex: 10 juin
TxBDepCM = Cells(lign, 10) ' départ ex: 08 juin
séjour = DateDiff("d", arrCM, TxBDepCM)

If séjour < 0 Then
    MsgBox " Veuillez vérifier les dates.La date d'arrivée doit être inférieur à la date de départ ,ce qui n'est pas le cas, modifiez vos dates"

tester

...je vais voir ce que ça donne...
Toutefois, mon problème est résolu...
En effet, en allant au delà de la réponse de Joco7915...après la Msgbox, et effacé le contenu déjà saisi, j'ai rajouté l'instruction Exit sub et la procédure me redonne la main..
merci à vous

Re bonjour

Si tout va bien passer le sujet en résolu

Crdlt

Rechercher des sujets similaires à "continuer procedure vba resume lors erreur"