Calculer Nb de jours entre 2 dates dans USF

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 !

Byfranck

XLDnaute Occasionnel
Bonjour à tous,

Je me tourne vers vous pour essayer de résoudre un problème qui vient de m'aparaitre dans ma base de données.
J'ai besoin de calculer le nombre de jours entre la date du jour et une date saisie dans un textbox (la date peut être à venir ou passée).

Tant que je saisi une date qui existe pas de problème, parcontre si par mégarde j'introduit une date qui n'existe pas (ex: 31/09/2009) le calcul biensur génère une erreur (#valeur) dans la cellule résultat et donc cela plante la ma macro .. et toute ma base.
Comment faire pour éviter cela?
Peut-on tester la si la date existe ?
Peut on éviter d'avoir #valeur dans la cellule?

Désolé je ne sais toujours pas créer un bouton sur une feuille ...
pour tester avec l'exemple joint il faut lancer l'UserForm8

Merci d'avance pour votre aide

Cordialement
Franck
 

Pièces jointes

Re : Calculer Nb de jours entre 2 dates dans USF

Salut ByFranck,

Tu peux utiliser le code suivant pour avoir de bonnes dates
Code:
  Dim DateOK As Boolean, NbJ As Long
  ' Tester la première date
  On Error Resume Next
  DateOK = False
  DateOK = IsDate(Me.TextBox1.Value)
  On Error GoTo 0
  If DateOK Then
    Sheets("feuil1").Range("E3").Value = CDate(Me.TextBox1.Value)
  Else
    MsgBox "Merci de saisir une date correcte !", vbInformation, "ATTENTION ..."
    Me.TextBox1.Value = ""
    Me.TextBox1.SetFocus
    Exit Sub
  End If
  ' Tester la seconde date
  On Error Resume Next
  DateOK = False
  DateOK = IsDate(Me.TextBox2.Value)
  On Error GoTo 0
  If DateOK Then
    Sheets("feuil1").Range("F3").Value = CDate(Me.TextBox2.Value)
  Else
    MsgBox "Merci de saisir une date correcte !", vbInformation, "ATTENTION ..."
    Me.TextBox2.Value = ""
    Me.TextBox2.SetFocus
    Exit Sub
  End If
  ' Tout est OK => Calculer le nombre de jours
  NbJ = DateDiff("d", Me.TextBox1, Me.TextBox2)
  Me.TextBox3.Value = NbJ

Voir ton fichier modifié ci-joint 😉

A+
 

Pièces jointes

- 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

Réponses
1
Affichages
400
Retour