Cellules consécutives VBA

Résolu/Fermé
lili67 - 3 mai 2016 à 11:48
 lili67 - 4 mai 2016 à 10:21
Bonjour,

Dans la première colonne j'ai une date avec l'heure de relevé de température et dans la deuxième colonne j'ai les relevés de températures :

01/12/2015 00:00 21,9
01/12/2015 00:20 21,8
01/12/2015 00:40 21,8
01/12/2015 01:00 21,8
01/12/2015 01:20 21,8
01/12/2015 01:40 20,5
01/12/2015 02:00 20,2
01/12/2015 02:20 19,8
01/12/2015 02:40 19,3
01/12/2015 03:00 19,2
01/12/2015 03:20 19,1
01/12/2015 03:40 19,4
01/12/2015 04:00 19,7
01/12/2015 04:20 20,2
01/12/2015 04:40 20,4
01/12/2015 05:00 20,7

Dans la colonne 2, les cellules inférieures à 19,5 sont en rouge.
Si j'ai des cellules rouges consécutives sur minimum 1h d'intervalle, je souhaiterais écrire dans un textbox les limites de cet intervalle.

Je ne vois pas comment coder cette condition, des idées ?

Merci d'avance pour votre aide :)

3 réponses

via55 Messages postés 14403 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 24 avril 2024 2 703
3 mai 2016 à 16:39
Bonjour lili

Un exemple de macro à adapter à ton fichier, les bornes s'affichent dans une fenêtre message :
Sub bornes()
For n = 2 To 100 ' boucle de la ligne 2 à la ligne 100 A MODIFIER POUR ADAPTER
' si valeur en col B <19.5 et valeur ligne précédente >= 19.5 on relève cette heure de début
If Range("B" & n) < 19.5 And Range("B" & n - 1) >= 19.5 Then hd = TimeValue(Range("A" & n))
'si valeur en col B <19.5 et valeur ligne suivante >=19.5 on relève cette heure de fin
If Range("B" & n) < 19.5 And Range("B" & n + 1) >= 19.5 Then
hf = TimeValue(Range("A" & n))
' si la difference heure fin, heure debut > à 59 mn (0.041 en décimale pour excel) on ajoute ces bornes dans le message à afficher
If (hf - hd) > 0.041 Then mess = mess & "D= " & hd & "  F= " & hf & Chr(10)
End If
Next
'affichage message
MsgBox mess
End Sub


Cdlmnt
Via
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
3 mai 2016 à 19:03
Bonsoir lili67, Bonsoir Via55
Autre proposition
https://www.cjoint.com/c/FEdraqf7Qxw
Cdlt
0
Les deux fonctionnent, j'ai adapté à ma macro pour avoir ce que je voulais.
Merci :)
0