dyeu
Messages postés3Date d'inscriptiondimanche 4 septembre 2011StatutMembreDernière intervention 1 avril 2007
-
30 mars 2007 à 21:31
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
1 avril 2007 à 22:28
sous excel
Je me demande comment retenir la valeur d'une cellule variant chaque jour pour suivre son évolution avec un
graphique
...<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
programme la cellule de référence (janvier A2) est aussi une cellule de calcul (comme =B2+C2)
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 30 mars 2007 à 21:44
Bé... (et bien que ne connaissant pas Excel)...
Je dirais volontiers que si ta cellule "change tous les jours"... la valeur de son contenu est volatile, ma foi...
Je penserais alors :
- siut à utiliser des cellules pour garder en mémoire les valeurs successives
- soit à utiliser des variables document (excel gère ce type de variable)
- soit à enregistrer ces valeurs successives dans un fichier texte dont je me servirais, en tant que de besoin, en lecture !
Mais je ne connais pas Excel et me contente donc de dire bêtement ce qui paraît tomber... sous le sens ...
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 30 mars 2007 à 22:20
Salut,
il te suffit de stocker la valeur avant changement sur une autre feuille (ex. nom de feuille : Suivi).
Pour faire ceci, utilise l'évènement Worksheet_Change(ByVal Target As Range).
Comme tu peux le constater, tu as le paramètre , qui, avec sa propriété Valuela valeur de la cellule.
Il faut donc enquiller cette valeur dans la page Suivi (admettons, la colonne A et la première ligne vide fera l'affaire)
Pour cela, regardemon snippet.
Ensuite pour finir, les données de ton graphiques viennent donc de la feuille Suivi, de A1 à Ax (x étant la dernière ligne utilisée)
@++
<hr size="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 30 mars 2007 à 22:37
Tu ne vois pas ?
Vraiment ?
Premier pas alors : une recherche avec Variable document (tant dans ton aide en ligne que sur le Web)
Deuxième pas : s'intéresser à l'écriture/lecture de fichiers textes (Open... for...) toujours dans ton aide en ligne + nombreux exemples sur ce forum
Troisième pas : se demander ce qui t'empêcherait d'utiliser certaines cellules d'une feuille de ton classeur pour y enregistrer tes données évolutives en vue d'une exploitation à la demande
voilà 3 solutions simples, la dernière étant de loin la plus facile (pas la plus élégante, toutefois)
Reste une question : quel que soit le "grand stratagème" adopté : quand "mettre à jour" ces données ?
Réponse trouvée dans ta propre question (puisque tu précises qu'elles évoluent chaque jour) .
Alors : utilisation d'une simple donnée de plus (toujours enregistréeselon le même principe qie celui exposé ci-dessus) permettant de voir s'il s'agit d'un jour déjà "ouvert" (et dans ce cas in n'ajoute pas une donnée mais on modifie la dernière enregistrée) ou d'un jour nouvellement ouvert (et dans ce cas on ajoute une donnée)
Puis-je te faire remarquer qu'ici, avant même de parler d'écriture de code, nous avons défini des méthodes ( et que rien n'aurait dû t'empêcher d'en faire autant de toi-même) ?
Choiisis donc maintenant la tienne (parmi les 3 proposées) et reviens avec ton essau de code pour y parvenir, en nous exposant uner difficulté éventuellement rencontrée dans la mise en oeuvre. Je ne doute pas de ce que tu recevras alors la meilleure aide possible.
Vous n’avez pas trouvé la réponse que vous recherchez ?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 30 mars 2007 à 22:44
Allez je suis brave, avec ça tu as tous les éléments en main, en plus mon exemple est très simple.
' Module de code de la feuille où se trouve la
formule
Private Sub Worksheet_Change(ByVal Target As Range)
Static MaValue As String
If MaValue <> CStr(Range("C1").Value) Then
Sheets("Suivi").Range("A" & PremiereLigneVide(1)).Value = Range("C1").Value
ActiveSheet.ChartObjects("Graphique
1").Activate
ActiveChart.SetSourceData Source:=Sheets("Suivi").Range("A1:A" & PremiereLigneVide(1) - 1), PlotBy:=xlColumns
End If
MaValue = CStr(Range("C1").Value)
End Sub
Private Function PremiereLigneVide(Colonne As
Integer) As
Long
PremiereLigneVide = Sheets("Suivi").Range("A65535").End(xlUp).Row + 1
End Function
dyeu
Messages postés3Date d'inscriptiondimanche 4 septembre 2011StatutMembreDernière intervention 1 avril 2007 1 avril 2007 à 22:17
merci de vos aides
mais sincerement je passe des heures a tenter d'adapter ces macro a mon fichier mais rien n'y fait pour ja vous l'envoyer et pouriez vous le transformer
je souhaite faire un graphique de l'evolution de mon compte au quotidien (chaque mois ou annuel)
en gros j'ai une cellule tout les mois qui m'indique le solde de mon compte (C3) et je souhaite que se soit elle qui ressorte sur mon graphique.
merci pour toute l'aide que vous pouriez m'apporter
ps j ai un fichier zip qui pese 94ko.