Je dois faire un calcul de différence d'heures en VBA, cela fonctionne mais le code que j'ai effectué ne prend pas en charge les différence d'heures négatives.
Quelqu'un pourrait il m'orienter sur une solution?
voici le code:
Sub CalculHeuresDiffSemaine()
Dim cellule As Range
Dim SelectionHeure As Date
Dim HeureReference As Date
Dim DifferenceHeure As Date
For Each cellule In Selection
If Selection <> "" Then
Bonjour Tititi,
Une solution parmi d'autre est de passer le calendrier en 1904 qui accepte les calculs d'heures négatif.
En faisant Options Excel/Options avancées et en cochant Utiliser le calendrier depuis 1904.
Bonjour Tititi,
Une solution parmi d'autre est de passer le calendrier en 1904 qui accepte les calculs d'heures négatif.
En faisant Options Excel/Options avancées et en cochant Utiliser le calendrier depuis 1904. Regarde la pièce jointe 1110970
Option déjà cochée, mais merci pour l'information. Je pense qu'il y a possibilité de modifier mon code mais je ne parviens pas a trouver la solution ni la bonne fonction.
Une solution, mais il doit y avoir plus simple, si les données sont en E13 G13, on construit le signe avec :
VB:
Sub CalculHeuresDiffSemaine()
HeureReference = [E13]
SelectionHeure = [G13]
DifferenceHeure = SelectionHeure - HeureReference
If DifferenceHeure < 0 Then S = "-" Else S = ""
DifferenceHeure = S & Format(DifferenceHeure, "hh:mm") & "h"
MsgBox ("La différence d'heure(s) est de: " & DifferenceHeure)
End Sub
Une solution, mais il doit y avoir plus simple, si les données sont en E13 G13, on construit le signe avec :
VB:
Sub CalculHeuresDiffSemaine()
HeureReference = [E13]
SelectionHeure = [G13]
DifferenceHeure = SelectionHeure - HeureReference
If DifferenceHeure < 0 Then S = "-" Else S = ""
DifferenceHeure = S & Format(DifferenceHeure, "hh:mm") & "h"
MsgBox ("La différence d'heure(s) est de: " & DifferenceHeure)
End Sub
c'est OK, j'ai supprimé l'affectation du type variable "Date" et remplacé le format "Application.Text" par format comme votre code est cela fonctionne maintenant. merci pour votre aide.