Cellules consécutives VBA

Résolu
lili67 -  
 lili67 -
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

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
  2. lili67
     
    Les deux fonctionnent, j'ai adapté à ma macro pour avoir ce que je voulais.
    Merci :)
    0