Les heures et VBA

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
 
R

Robert

Guest
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
 
J

JP

Guest
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

  • TESTheures.xls
    29 KB · Affichages: 33
  • TESTheures.xls
    29 KB · Affichages: 34
  • TESTheures.xls
    29 KB · Affichages: 35
J

JP

Guest
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
 
P

pyrof

Guest
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
 

Discussions similaires

Réponses
6
Affichages
527

Statistiques des forums

Discussions
314 662
Messages
2 111 641
Membres
111 243
dernier inscrit
flo-99010