Automatiser la copie de données actualisées
Résolu
papedu44
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai extrait des données de production d'un intranet à partir d'une connexion de données actualisée chaque minute.
Mon souhait est d'afficher ces données sous forme de graphique. Pour l'instant, je suis bloqué car les valeurs sont écrasées à chaque actualisation.
Comment faire pour automatiser le "copier-coller" de mes valeurs dans une nouvelle case d'un tableau à chaque actualisation ? Ou est-il possible de réaliser un graphique qui récupère les données automatiquement et qui s'enrichit chaque minute ?
D'avance merci pour votre aide.
J'ai extrait des données de production d'un intranet à partir d'une connexion de données actualisée chaque minute.
Mon souhait est d'afficher ces données sous forme de graphique. Pour l'instant, je suis bloqué car les valeurs sont écrasées à chaque actualisation.
Comment faire pour automatiser le "copier-coller" de mes valeurs dans une nouvelle case d'un tableau à chaque actualisation ? Ou est-il possible de réaliser un graphique qui récupère les données automatiquement et qui s'enrichit chaque minute ?
D'avance merci pour votre aide.
A voir également:
- Automatiser la copie de données actualisées
- Fuite données maif - Guide
- Copie cachée - Guide
- Super copie - Télécharger - Gestion de fichiers
- Copie écran samsung - Guide
- Copie disque dur - Guide
6 réponses
Bonjour
peut être quelque chose comme ceci (1 top toutes les 10 s - à adapter)
https://www.cjoint.com/?3FeqJie8cgC
RQ. je ne sais pas comment ça va se comporter avec l'importation
Bonne suite
peut être quelque chose comme ceci (1 top toutes les 10 s - à adapter)
https://www.cjoint.com/?3FeqJie8cgC
RQ. je ne sais pas comment ça va se comporter avec l'importation
Bonne suite
Je reste bloqué sur mon problème. J'essaie de trouver quelque chose comme :
Si "le contenu de ma cellule" est différent "du contenu de ma cellule précédemment"
Alors "je copie ma cellule
Mais évidemment ça ne fonctionne pas, car ma cellule en question s'actualise chaque minute par connexion de données.
J'ai donc créé une deuxième connexion de données, identique en valeur, mais avec une actualisation par heure (au lieu d'une par minute). Comme cela ça pourrait marcher, mais encore faut-il pouvoir automatiser la copie de ma cellule chaque minute...
Si "le contenu de ma cellule" est différent "du contenu de ma cellule précédemment"
Alors "je copie ma cellule
Mais évidemment ça ne fonctionne pas, car ma cellule en question s'actualise chaque minute par connexion de données.
J'ai donc créé une deuxième connexion de données, identique en valeur, mais avec une actualisation par heure (au lieu d'une par minute). Comme cela ça pourrait marcher, mais encore faut-il pouvoir automatiser la copie de ma cellule chaque minute...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
Il ne s'agit pas d'une macro, mais d'une connexion de données (dans l'onglet Données, Données externes, A partir du web. Et là je donne l'adresse de l'intranet et je récupère le tableau de données.
Dans mon tableau de données, j'ai 4 informations de production (débits) et la date/heure/min/sec de la mesure.
Il ne s'agit pas d'une macro, mais d'une connexion de données (dans l'onglet Données, Données externes, A partir du web. Et là je donne l'adresse de l'intranet et je récupère le tableau de données.
Dans mon tableau de données, j'ai 4 informations de production (débits) et la date/heure/min/sec de la mesure.
Personne n'a d'idée pour mon problème ? Je me pose toujours des questions, sans trouver les réponses...
Je peux également arriver à mes fins si je réussi à faire :
si(A1<>"0"), copier A1 en B1
si(et(A1<>"0";A1<>B1)), copier A1 en B2
si(et(A1<>"0";A1<>B2)), copier A1 en B3
...
en considérant que ma case A1 est actualisée chaque minute.
Le problème, c'est de faire une copie de valeurs périodique pour faire un historique des valeurs de A1.
si(A1<>"0"), copier A1 en B1
si(et(A1<>"0";A1<>B1)), copier A1 en B2
si(et(A1<>"0";A1<>B2)), copier A1 en B3
...
en considérant que ma case A1 est actualisée chaque minute.
Le problème, c'est de faire une copie de valeurs périodique pour faire un historique des valeurs de A1.
Je l'ai calé sur une minute et ajouté l'importation de données, ça marche parfaitement.
Bravo !
Bonne fin de journée
Je veux suivre 5 valeurs dans le temps. J'ai modifié le code VBA mais j'ai sans doute fait une erreur de débutant.
A t = 1 j'ai 1 ligne
A t = 2 j'ai 5 lignes
A t = 3 j'ai 25 lignes ...
Je n'ai pas fermé quelquechose, c'est certain. Peux-tu me dire quoi ajouter pour résoudre ce problème STP ? Voilà le code VBA :
Public Sub TopChrono()
Dim li As Long
Dim li2 As Long
Dim li3 As Long
Dim li4 As Long
Dim li5 As Long
With Sheets(NF)
li = .Range(co & Rows.Count).End(xlUp).Row + 1
Temps = Now + TimeValue("00:01:00")
Application.OnTime Temps, "TopChrono"
.Range(co & li).Value = .Range(c).Value
li2 = .Range(co2 & Rows.Count).End(xlUp).Row + 1
Temps = Now + TimeValue("00:01:00")
Application.OnTime Temps, "TopChrono"
.Range(co2 & li2).Value = .Range(c2).Value
li3 = .Range(co3 & Rows.Count).End(xlUp).Row + 1
Temps = Now + TimeValue("00:01:00")
Application.OnTime Temps, "TopChrono"
.Range(co3 & li3).Value = .Range(c3).Value
li4 = .Range(co4 & Rows.Count).End(xlUp).Row + 1
Temps = Now + TimeValue("00:01:00")
Application.OnTime Temps, "TopChrono"
.Range(co4 & li4).Value = .Range(c4).Value
li5 = .Range(co5 & Rows.Count).End(xlUp).Row + 1
Temps = Now + TimeValue("00:01:00")
Application.OnTime Temps, "TopChrono"
.Range(co5 & li5).Value = .Range(c5).Value
End With
End Sub
Public Sub StopChrono()
On Error Resume Next
Application.OnTime Temps, "TopChrono", , False
End Sub
Public Sub TopChrono()
Dim li As Long
Dim li2 As Long
Dim li3 As Long
Dim li4 As Long
Dim li5 As Long
With Sheets(NF)
li = .Range(co & Rows.Count).End(xlUp).Row + 1
li2 = .Range(co2 & Rows.Count).End(xlUp).Row + 1
li3 = .Range(co3 & Rows.Count).End(xlUp).Row + 1
li4 = .Range(co4 & Rows.Count).End(xlUp).Row + 1
li5 = .Range(co5 & Rows.Count).End(xlUp).Row + 1
Temps = Now + TimeValue("00:01:00")
Application.OnTime Temps, "TopChrono"
.Range(co & li).Value = .Range(c).Value
.Range(co2 & li2).Value = .Range(c2).Value
.Range(co3 & li3).Value = .Range(c3).Value
.Range(co4 & li4).Value = .Range(c4).Value
.Range(co5 & li5).Value = .Range(c5).Value
End With
End Sub
Merci encore pour ton aide ccm81. Je marque le sujet comme résolu.
With Sheets(NF)
li = .Range(co & Rows.Count).End(xlUp).Row + 1
Temps = Now + TimeValue("00:01:00")
Application.OnTime Temps, "TopChrono"
.Range(co & li).Value = .Range(c).Value
li2 = .Range(co2 & Rows.Count).End(xlUp).Row + 1
.Range(co2 & li2).Value = .Range(c2).Value
li3 = .Range(co3 & Rows.Count).End(xlUp).Row + 1
.Range(co3 & li3).Value = .Range(c3).Value
li4 = .Range(co4 & Rows.Count).End(xlUp).Row + 1
.Range(co4 & li4).Value = .Range(c4).Value
li5 = .Range(co5 & Rows.Count).End(xlUp).Row + 1
.Range(co5 & li5).Value = .Range(c5).Value
End With
RQ. et si les lignes de report sont identiques tu peux supprimer li2= ... , li3 = ... etc.