Bonjour,

Voici le programme suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
    Dim HeureDeb As Date
    Dim HeureFin As Date
    Dim Duree As Date
    Dim Tab As Variant
        Tab = Range("A1").CurrentRegion.Value
        HeureDeb = Tab(1, 1)          
        HeureFin = Tab(1, 2)          
        Duree = Tab(1, 3)            
 
        If HeureDeb <> "00:00:00" Then                        
            If Duree = "00:00:00" And HeureFin <> "00:00:00" Then
                Duree = Abs(HeureFin - HeureDeb)
            Else
                If (Duree <> "00:00:00") And (HeureFin = "00:00:00") Then
                    HeureFin = HeureDeb + Duree
                Else
                    MsgBox ("err 1")
                End If
            End If
        Else
            MsgBox ("err 2")
        End If
 
        If HeureDeb > HeureFin Then
            MsgBox ("err 3")
        Else
            If (HeureFin - HeureDeb) <> Duree Then
                MsgBox ("err 4")
            End If
        End If
Le tableau "entrée" génère
Hdeb="10:00:00"
Hfin="00:00:00" 'cellule vide au début
Duree="02:00:00"

Quand je fais du pas à pas, Hfin prend la valeur "12:00:00" car le programme passe bien par :
If (Duree <> "00:00:00") And (HeureFin = "00:00:00") Then
HeureFin = HeureDeb + Duree

Par contre, le message "err4" s'affiche.
En consultant le contenu des variables (HeureFin, HeureDeb, Duree),
j'ai bien "12:00:00-10:00:00<>02:00:00".
If (HeureFin - HeureDeb) <> Duree Then
MsgBox ("err 4")
End If
Bizarre.

Merci pour les réponses.

En cherchant un peu plus,
Je peux faire une comparaison entre hdeb+hfin<>duree.
Je ne peux pas faire une comparaison entre hfin-hdeb<>duree.

Bizarre. Une addition ok, une soustraction ce n'est pas bon.
J'ai essayé de mettre des parenthèses. Même constat.