condition si valeur dans une plage de valeur

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

Phillip

XLDnaute Occasionnel
Bonjour,

Dans un tableau horaire, un résultat est donné si l'heure est comprise entre 6h du matin et 21 heures, et un autre résultat est donné si l'heure est comprise entre 21 heures et 6 heures du matin

Sachant que 6h vaut 0.25 et 21h vaut 0.875 j'ai tenté : IF(AND(C3<0,875;C3>0,25)....

Seulement, si l'heure est après minuit mais avant 6heures (exemple , mon heure est égale à 0.07 pour 1h45 du matin) ça ne marche pas car 0.07 est bien inférieur à 0.875 !!!

Des idées ?

Merci !!
 
Bonjour Philip, le Forum,

Sur les feuilles, les formules sont en Français style:

=SI(ET(A1>=142;A1<=300);'OK'; 'Conditions non remplies')

Et en VBA les formules sont en Anglais avec des If et And...

Bonne Journée, Baside
 
essaye ca:

Sub timedetect()
a = Range('A1').Value
If a >= 0.25 Then
If a < 0.875 Then
Range('B2').Value = 'erreur compris entre 6h et 21h'
ElseIf a >= 0.875 Then
Range('B2').Value = 'erreur compris entre 21 et 6h'
End If
ElseIf a < 0.25 Then
Range('B2').Value = 'erreur compris entre 21 et 6h'
End If
End Sub
 
Bonjour,

merci Robby, je vais m'inspirer de ton post pour créer une formule personnalisée.

Baside, j'ai uen version d'excel en anglais donc mes formules contiennent bien des if et des and.

André, Je vais tester, mais je ne crois pas que cela marche dans tous les cas...

merci à tous en tous cas...
 
Bonjour,

Suite à vos différents conseils, je me suis orienté vers une fonction personnalisée :

Function timetotime(JourJ, heureH)

valeurheure = heureH.Value
jourferie = 0
dimanche = 0
dimanche = Weekday(JourJ)
JourJ.NumberFormat = 'General'
jourferie = JourJ.Value
''test du jour férié ou dimanche
If jourferie = 38477 Or jourferie = 38547 Or jourferie = 38579 Or jourferie = 38657 Or jourferie = 38667 Or dimanche = 1 Then
'test entre 21h et minuit, puis avant 6h du matin
If 0 < valeurheure And valeurheure < 0.25 Or 0.875 < valeurheure And valeurheure < 1 Then
timetotime = 2.1
Else: timetotime = 2
End If

'Si on est pas un jour férié ou dimanche
ElseIf 0 < valeurheure And valeurheure < 0.25 Or 0.875 < valeurheure And valeurheure < 1 Then
timetotime = 1.5
Else: timetotime = 1.25
End If
jourferie.NumberFormat = 'ddd dd/mm/yyyy'


End Function
Or, mon résultat, donc timetotime ne donne aucun résultat (#valeur') alors qu'exactement la même sub, avec des cellules explicites marche !!

Quid ????

Merci
 
- 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

O
Réponses
7
Affichages
2 K
O
V
Réponses
1
Affichages
999
Vincent_2311
V
K
  • Question Question
Réponses
3
Affichages
2 K
kiwistagiaire
K
H
Réponses
16
Affichages
3 K
Retour