[RESOLU]ERREUR DANS dATEdIFF and simplifier le code

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 !

chaelie2015

XLDnaute Accro
Bonjour Forum
puis je avoir votre correction concernant ce code
Code:
Sub retard()
On Error GoTo Fin 'gère l'erreur du textbox pas encore rempli
If TextBox14 <> "" And TextBox15 <> "" Then _
TextBox39 = DateDiff("d", IsDate(TextBox15), IsDate(TextBox14), 2, 2) & " Jour(s)" Else: TextBox39 = ""
Fin:
End Sub
sachant que TextBox15 date arrivée et TextBox14 date départ
mon souci c'est que dans le TextBox39 il affiche que 0 jour(s)
MERCI PAR AVANCE
 
Dernière édition:
Re : [RESOLU]ERREUR DANS dATEdIFF

Re
toujours dans le même principe je souhaite simplifier ce
Code:
Sub retard()
On Error GoTo Fin 'gère l'erreur du textbox par encore rempli
If TextBox14 <> "" And TextBox15 <> "" And TextBox15 > TextBox14 Then
TextBox39 = "Vous avez pris un retard de " & DateDiff("d", CDate(TextBox14), CDate(TextBox15), 2, 2) & " jour(s)"
Else
     If TextBox14 <> "" And TextBox15 <> "" And TextBox15 < TextBox14 Then
     TextBox39 = "Vous êtes en avance de " & DateDiff("d", CDate(TextBox15), CDate(TextBox14), 2, 2) & " jour(s)"
     Else
         If TextBox14 <> "" And TextBox15 <> "" And TextBox15 = TextBox14 Then
         TextBox39 = "Vous êtes dans les delais "
         Else: TextBox39 = ""
         End If
     End If
End If

Fin:
End Sub
MERCI PAR AVANCE
 
Re : ERREUR DANS dATEdIFF and simplifier le code

Bonsoir.
Réfléchissez. Si on ne peux pas effectuer de calcul sur des textes représentant des dates sans les convertir à l'aide de CDate, on ne peut évidemment pas non plus les comparer sans ce CDatei !
Enfin moi je ferais sans doute quelque chose comme ça :
VB:
Sub retard()
Dim DifJ As Long
On Error GoTo Fin 'gère l'erreur du textbox par encore rempli
DifJ = CDate(TextBox14) - CDate(TextBox15)
Select Case DifJ
   Case Is < -1: Label39 = "Vous avez pris un retard de " & -DifJ & " jours."
   Case Is < 0:  Label39 = "Vous avez pris un retard de 1 jour."
   Case Is < 1:  Label39 = "Vous êtes dans les délais."
   Case Is < 2:  Label39 = "Vous êtes en avance de 1 jour."
   Case Else:    Label39 = "Vous êtes en avance de " & DifJ & " jours."
      End Select
Fin:
End Sub
 
- 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
8
Affichages
1 K
M
Réponses
3
Affichages
1 K
MONADESIGN82
M
V
Réponses
17
Affichages
3 K
VBgalère
V
S
Réponses
1
Affichages
917
L
Réponses
1
Affichages
1 K
Lucien31
L
M
Réponses
11
Affichages
2 K
Melidan2006
M
B
Réponses
9
Affichages
2 K
bodiallo
B
V
  • Question Question
Réponses
10
Affichages
2 K
virginie75015
V
A
Réponses
2
Affichages
1 K
A
A
Réponses
1
Affichages
1 K
Retour