Commet figer la valeur d'une cellule ???

  • Initiateur de la discussion Cognac
  • Date de début
C

Cognac

Guest
Bonjour tt le monde,


Lorsque ma feuille Excel est ouverte elle reçoit en continu dans la 1 ère cellule (A1) de la 1ère feuille la Température de l’extérieur. Lorsque la température change la nouvelle valeur vient écraser l’ancienne dans la cellule A1 de la feuille1.

Mon but est de construire un historique de la température, c'est-à-dire de stocker une pour chaque jour (à 18h00) par exemple la valeur de la température correspondante.
L’idéal est d’avoir 2 colonnes ; une qui contient la date de mon historique et une qui présente la valeur de la température pour la date correspondante. Pour la date courante (celle du jour) la valeur de la température sera dynamique comme et se figera à l’heure voulue (18h00 par exemple).


Voili voulou
Merci de votre aide

Cognac
 

porcinet82

XLDnaute Barbatruc
Salut Cognac,

Soit ne dois pas etre facile a porter ce prénom ;)

Sinon je suppose que tu gères deja l'arriver de ta valeur de température en A1 à 18h00, je te propose donc le code suivant (a placer dans le module de la feuille 1) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Cells(1, 1).Value = '' Then
        Rows(1).Insert Shift:=xlDown
        Cells(2, 2).Value = Date
    End If
End Sub

Petites explications : Des qu'une valeur est rentrée dans la cellule A1, une ligne est insérée au-dessus, et la date est rentrée dans la cellule B2 (c'es à dire à coté de la température qui vient d'etre rentrée).

J'espère ne pas etre tombé complétement à coté,

@+
 

MARIE74

XLDnaute Occasionnel
Re a tous

Salut procinet82 et cognac

J'ai pas d'idée mais c'est ton code qui m'interesse beaucoup il me convient a merveille

Merci porcinet82 et bonne chance a cognac





Heu c'est vrai cognac cela doit etre difficile a porter surtout quand tu tombes sur un barrage de flics et que souffle dans le ballon ils vont croirent que tu te moque de leur G.....
 
C

Cognac

Guest
Re-salut,


l'historique doit s'établir ds une feuille différente de celle recevant la température en A1 et il est difficil de gérer 'à la main' l'arrivée de la température en A1. De plus la valeur en A1 est apelée dans d'autres cellules, donc la température doit rester en A1.

Comment faire ??

c dur ........ d'aimer le cognac
 

porcinet82

XLDnaute Barbatruc
re,

Je te propose une modification du premier code qui te gère tes température dans une seconde feuille, et qui ne met a jour que si l'heure est 18:00, cependant, je ne sais pas comment récupérer ta température.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Time = #6:00:00 PM# Then
        'ton code pour renvoyer la température dans la cellule A1 de la feuille 1
        If Not Cells(1, 1).Value = '' Then
            With Sheets('feuil2')
                .Range('A65536').End(xlUp).Offset(1, 0).Value = Sheets('feuil1').Cells(1, 1).Value
                .Range('B65536').End(xlUp).Offset(1, 0).Value = Date
            End With
        End If
    End If
End Sub

Tiens nous au courant,

@+
 
C

Cognac

Guest
meci bcp,


là ca donne qq choze de pas mal !!
juste qqes trucs;

- apparement si le fichier excel est fermé à l'heure indiquée, l'opération ne se fait pas...

- au lieu de faire l'opération à heure fixe, peut la faire à intervalle régulier ( ts les 10 minutes par exemple) ??

d'avance merci
 
C

Cognac

Guest
Re-alut,


autre inconvénient;

le 'time' d'excel ne défile pas en continu et il se peut que la condition;
Time = #6:00:00 PM# ne soit pas vérifié car le time passe (par exemple) de 5:59:57PM à 6:00:04 PM ...

c'est un pbme d'aimer le Cognac ?
 

porcinet82

XLDnaute Barbatruc
re,

Pour moi aucun soucis en ce qui concerne le fait que aime le cognac, je ne crache pas dessus non plus ;)

Sinon, pour appliquer la macro a interval régulier tu peux utiliser un OnTime, je te joint un morcea de l'aide excel :
Cet exemple montre comment exécuter my_Procedure dans 15 secondes.
Application.OnTime Now + TimeValue('00:00:15'), 'my_Procedure'

Par contre je ne sais pas comment faire pour lancer une macro sur un fichier fermé.

@+
 

porcinet82

XLDnaute Barbatruc
Bonsoir,

Et bien je ne sais pas trop comment faire, mets une plage horaire plutot qu'une heure fixe, ce qui donnerait un truc du genre :
Code:
If Time › #5:59:50 PM# and Time ‹ #6:00:10# Then

@+

PS : Change les › et ‹ par leurs homologues du clavier
 

Discussions similaires