Bonjour a tous, je vais essayer de vous expliquer mon problème.
Je dois faire une graphique de température.
On mesure donc régulièrement mais a intervalle aléatoire la température des pièces.
J’ai donc créé un tableau avec une colonne ou on entre la température, et la colonne d’après je souhaiterais la date et l’heure. Pour la date et l’heure j’utilise MAINTENANT()
Je voudrais que dans ma colonne date et heure de 1. Elle s’écrive en valeur (pour pas que ça change a l’actualisation), et que dès que j’entre ma valeur en température ça m’inscrive automatiquement la date et l’heure dans la colonne d’accoté, j’avais pensé par un SI, genre si A5>0 si vrai insérer la date et l’heure sur la colonne a coté si faux écrire insérer une température
si les températures sont en colonne A, tu peux tester ce bout de code à copier dans le module de ta feuille de calcul :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target) And Target <> "" And Target.Column = 1 And Target.Count = 1 Then Target(1, 2) = Now
End Sub
Clic droit sur l'onglet de ta feuille de calcul. Visualiser le code. et copier dans la fenêtre blanche qui s'ouvre. (il faut autoriser les macros pour que ça fonctionne)
Juste encore un petit souci, voilà le tableau fonctionne super bien, par contre si je modifie ma température ça re modifie l’heure et la date et je souhaiterais qu’une fois la date et l’heure écrite, ça ne puisse plus changer.
Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target) And Target <> "" And Target.Column = 1 And Target.Count = 1 and Target(1,2)="" Then Target(1, 2) = Now
End Sub
J’ai ajouter la date dans la première version, et quand je modifie avec ce que tu m’as donner ça tourney en boucle, et je trouve pas d’ou ça vient.
Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target) And Target <> "" And Target.Column = 1 And Target.Count = 1 And Target(1, 2) = "" Then Target(1, 2) = Now
Target.Offset(0, 1).Value = Time
Target.Offset(0, 2).Value = Date
End Sub
Bon j’avance gentiment,
J’ai encore un soucis, avec ce que tu m’as donner ça me mets en JJMMAAAA HHMM et moi je voudrais seulement la date et quand je vais changer j’ai erreur execution ‘13’ incompatibilité de type mais sinon ça fonctionne bien moi a la place de JJMMAAAA HHMM je voudrais juste le TIME
Merci d’avance
voici mon code
Private Sub Worksheet_Change(ByVal Target As Range)
If IsNumeric(Target) And Target <> "" And Target.Column = 2 And Target.Count = 1 And Target(1, 2) = "" Then Target(1, 2) = Now
If Target.Column <> 2 Then Exit Sub
Target.Offset(0, 2).Value = Date
End Sub