Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Somme heures incorrect !(Résolu )

  • Initiateur de la discussion Initiateur de la discussion JBARBE
  • Date de début Date de début

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 !

JBARBE

XLDnaute Barbatruc
Bonjour à tous,

Je dois comparer des heures avec une heure en VBA !

Je ne comprends pas que ma macro indique un message erroné !

Code:
Sub controle_ReposB()
Dim i As Long
For i = 6 To 65536
If Hour(Range("C3")) > (Hour(0) - Hour(Cells(i, 4))) Then
MsgBox " Repos inférieur à " & Range("C3"), vbInformation, "ATTENTION"
Exit Sub
End If
Next i
End Sub

Merci à l'avance !
 

Pièces jointes

Dernière édition:
Re : Somme heures incorrect !

Bjr JBARBE

Je n'ai pas d'erreur, si ce n'est le format corrigé comme ça :

Code:
MsgBox " Repos inférieur à " & Format(Range("C3"), "hh:mm"), vbInformation, "ATTENTION"

cordialement, Gérard
 
Re : Somme heures incorrect !

Bjr JBARBE

Je n'ai pas d'erreur, si ce n'est le format corrigé comme ça :

Code:
MsgBox " Repos inférieur à " & Format(Range("C3"), "hh:mm"), vbInformation, "ATTENTION"

cordialement, Gérard

Bonjour Gérard,

Ce n'est pas ce que je veux !

Dans l'exemple de mon fichier le message ne devrait pas s'afficher puisque entre 0h et 20 h, il y a 4 h !!!

Et le message devrait s'afficher que si la somme de 4h était inférieur à 2 h!

Or, le message s'affiche malgré 4h > 2h !

Merci !
 
Re : Somme heures incorrect !

Bonjour à tous

Peut-être comme ceci

Code:
Sub controle_ReposB()
Dim i As Long
For i = 6 To 65536
If Range("C3") * 24 > 24 - Cells(i, 4) * 24 Then
MsgBox " Repos inférieur à " & Range("B3"), vbInformation, "ATTENTION"
Exit Sub
End If
Next i
End Sub
 
Re : Somme heures incorrect !

Merci M12 !ça marche !

Nouvelle demande : et si l'on doit ajouter des heures sur une autre cellule :

Exemple suivant qui ne marche pas !

Code:
Sub controle_ReposC()
Dim i As Long
For i = 6 To 65536
If Range("C3") * 24 > 24 - Cells(i, 4) * 24 + Cells(i - 1, 3) * 24 Then
MsgBox " Repos inférieur à " & Range("C3"), vbInformation, "ATTENTION"
Exit Sub
End If
Next i
End Sub

Merci à l'avance !
 

Pièces jointes

Re : Somme heures incorrect !

Re,

Plutôt comme ceci

Code:
If Range("C3") * 24 > 24 - Cells(i, 4) * 24 + Cells(i + 1, 3) * 24 Then

i = 6, donc i+1=7 (7:00) et à condition que D7 soit renseigné
 
Re : Somme heures incorrect !

Re,

Plutôt comme ceci

Code:
If Range("C3") * 24 > 24 - Cells(i, 4) * 24 + Cells(i + 1, 3) * 24 Then

i = 6, donc i+1=7 (7:00) et à condition que D7 soit renseigné

Cells(i + 1, 3) * 24

Autant pour moi ( je fatigue )

à condition que D7 soit renseigné > tu veux dire C7 !

Merci et bonne journée !
 
- 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
5
Affichages
830
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
880
Réponses
2
Affichages
993
Réponses
3
Affichages
843
E
Réponses
0
Affichages
1 K
estivill
E
  • Question Question
Microsoft 365 heures sans les :
Réponses
2
Affichages
822
Réponses
8
Affichages
1 K
G
Réponses
2
Affichages
602
gaelle31
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…