• Initiateur de la discussion Initiateur de la discussion JP
  • 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 !

J

JP

Guest
Bonjour le forum

J'ai une petit problème d'heures et de IF

J'aimerais faire la macro suivante:

Si heure de C1 est entre 0800 et 2400 alors
Msgbox sinon rien

A1 est formaté en heure jjmm
B1 est formaté en heure jjmm
C1 contient la formule B1-A1

A mon avis je ne dois pas utiliser les bons termes ( range ou rangevalue ou...)

Quelqu'un pourrait-il m'aider ?

Merci beaucoup

Jean-Pierre
 
Salut Jean-Pierre, Salut le forum

je n’ai pas très bien compris tes formats car tu parles d’heures et tu formates en jours et mois. En C1 tu voudrais connaître la différence d’heures entre deux dates ou bien la différence de jours ?

quoiqu’il en soit, si tes formats sont bons, cette macro devrait fonctionner.

Public Sub heures()
If Sheets("feuil1").Range("C1").Value >= 800 And _
Sheets("feuil1").Range("C1").Value <= 2400 Then
MsgBox ("ton message")
End If
End Sub

À plus,

Robert
 
Bonjour,


Mon problème persiste

j'ai joint le fichier Testheures pour mieux comprendre le problème

j'ai testé les 2 macros qui me renvoient chacune une réponse différente, de plus si je modifie la valeur de A1, rien ne change dans la réponse de la macro.
Le format des cellules est-il le bon par rapport aux critères de la macro?

Merci
Jean-pierre
 

Pièces jointes

Re: Les heures et VBA prob non résolus

Bonjour,


Mon problème persiste

j'ai joint le fichier Testheures pour mieux comprendre le problème

j'ai testé les 2 macros qui me renvoient chacune une réponse différente, de plus si je modifie la valeur de A1, rien ne change dans la réponse de la macro.
Le format des cellules est-il le bon par rapport aux critères de la macro?

Merci
Jean-pierre
 
Re: Les heures et VBA prob non résolus

Bonjour,

' y est le nombre de minutes entre les deux temps

Sub heures()

y = DateDiff("n", "00:00", Sheets("Feuil1").Range("C1"))

If 800 <= y <= 2359 Then
MsgBox ("Pas de feuille rose")
Else ': MsgBox ("Il faut une feuille rose")
End If
End Sub


Il te reste à modifier les valeurs du test
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 heures sans les :
Réponses
2
Affichages
795
Réponses
12
Affichages
1 K
Retour