Je cherche un code qui me permet :
Lorsque une valeur de cellule A1 par exemple est changé, dans une autre cellule enregistrer le temps cors pondant à la variation de cette valeur: le but c'est obtenir un tableau à deux colonnes (la première colonne contient les valeurs et la deuxième contient le temps correspondant aux ces valeurs), pour pouvoir dessiner la courbe qui contient la variation de la valeur en temps réel.
Remarque:
La valeur de cellule est changée car est en liaison DDE avec un autre appareil
2) Ces données seront utilisées comme sources pour le graphique : nombreux exemples sur le forum.
3) Clic droit sur l'onglet de la cellule liée (variable) A1 et Visualiser le code.
Y coller cette macro :
Code:
Private Sub Worksheet_Calculate()
If [X].Cells([X].Count) <> [A1] Then
[X].Resize(1).Offset([X].Count) = [A1]
[T].Resize(1).Offset([T].Count) = Now
End If
End Sub
Re : courbe de variation d'une cellule en temps rélle
la création des tableau dynamique sa fait au niveau de macro cad dans ou je vais coller les deux expressions
=DECALER(Feuil1!$B$2;-ESTVIDE(Feuil1!$B$2);;NBVAL(Feuil1!$B:$B)-NON(ESTVIDE(Feuil1!$B$2)))
Re : courbe de variation d'une cellule en temps rélle
Bonjour meryAD,
X et T sont 2 noms définis :
- sous Excel 2003 : menu Insertion => Nom => Définir
- sous Excel 2007 : onglet Formules => Gestionnaire de noms.
Et dans la boîte de dialogue entrez chacune des formules pour les définir.
Edit : la macro que j'ai proposée utilise l'évènement Calculate car j'ai supposé qu'il y a une formule de liaison en A1.
Si ce n'est pas le cas, utiliser l'évènement Change :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If [X].Cells([X].Count) <> [A1] Then
[X].Resize(1).Offset([X].Count) = [A1]
[T].Resize(1).Offset([T].Count) = Now
End If
End Sub
Re : courbe de variation d'une cellule en temps rélle
Bonjour
j'ai suivi les étapes que vous m'avez di mais lors de l'exécution du macro , j'ai comme message d'erreur " erreur d'exécution 424 ".
ainsi j'ai remarqué que le contenu de la cellule A1 s'enregistre dans B3 mais seulement pour la premier exécution ainsi pas d'enregistrement de l'heur de changement de valeur après quand je change le contenu de A1 le contenu de B3 garde l'ancien valeur ainsi pas de d'enregistrement de l'heur