× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Prendre en compte les données d'une nouvelle feuilSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
spring
  Posté le 12/10/2010 @ 21:19 
Aller en bas de la page 
Petite astucienne

Bonjour,

je veux représenter sous forme d'un graphique la variation d'un paramètre dont les valeurs sont sur plusieurs feuilles.

Or régulièrement de nouvelles feuilles sont ajoutées avec des valeurs que je veux prendre en compte dans mon graphique.

comment je peux faire ça? comment dire à Excel de regarder les valeurs sur chaque feuille du classeur, et de prendre automatiquement en compte les nouvelles feuilles?

Merci!

Spring

Publicité
galopin01
 Posté le 13/10/2010 à 00:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonjour,

Ben, avant de se demander comment prendre en compte les futures nouvelles données, y faudrait déjà savoir comment sont collectées les données existantes et comment est réalisé le graphique...

Ensuite, rajouter une poignée de chiffres supplémentaires c'est pas un problème.

Pour résumer, un bon petit classeur démo et une poignée d'explications supplémentaires sur la collecte des données et on essaiera de te mitonner ça.

Le classeur démo tu le mets sur cjoint puis tu nous donnes le lien.

A+

spring
 Posté le 18/10/2010 à 17:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour,

voilà le lien vers le fichier:

http://cjoint.com/?0ksrLq5Yqwd

Il s'agit de visites de maintenance. Chaque fois, le technicien copie la feuille ORIGINAL et la complète avec les mesures prises lors de la visite de maintenance. À ce jour, donc, 17 visites.

Il faut que je trouve le moyen de représenter par un graphique l'évolution de la valeur entrée en B5 (en fait, j'aurai à le faire pour chaque mesure, de B5 à E21 et de H5 à K21) sur les 17 visites, et que lors de la 18e visite le graphique prenne en compte cette nouvelle feuille et se mette a jour avec une nouvelle mesure.

Je n'ai pas trouvé le début d'une méthode...

si vous avez des idées, pistes... Merci!

Spring

galopin01
 Posté le 18/10/2010 à 19:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir?

Et le graphique il est ou ?

La réponse à ton problème suppose l'utilisation probable d'une macro.

La structure du classeur devrat être identique à celle de ton classeur de travail. En particulier toutes les feuilles utiles au graphique devront etre situées

- entre la feuille "ORIGINAL" qui devra toujours être la première

- et avant la feuille "GRAPHIQUES" qui devra toujours être la dernière.

il ne devra pas y avoir d'autres feuilles "parasites" entre ces deux bornes le nom, le nombre ou le N° des feuilles est indifférent.

Fournir au moins un graphique témoin SVP.

A+

ferrand
 Posté le 18/10/2010 à 22:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Quel est le paramètre ?

je veux représenter sous forme d'un graphique la variation d'un paramètre

Galopin semble avoir compris ce que tu veux. J'avoue que je n'ai même pas décroché, n'ayant pas trouvé où m'accrocher !

Sois un peu moins élitiste [[]] et énonce quelques détails supplémentaires !

galopin01
 Posté le 20/10/2010 à 06:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonjour,

Comme je te sens pas bien sur ce coup, j'ai fait "A ma guise"... T'es prête ? Accroche-toi !

Dans cette démo, J'ai tout d'abord ajoutée une feuille, ce qui modifie sustanciellement (ce qui a été dit précédemment.)

Désormais tu peux rajouter autant de feuilles que tu veux, (18 19, 20...) entre les feuilles MODELE et BD mais ces deux feuilles doivent toujours rester à la même place. Ainsi que la feuille GRAPHIQUE qui doit toujours rester la dernière.

La feuille BD est destinée à recevoir les données des différentes feuilles s'il en est ajouté.

Les données de la feuille "1" dans la ligne 2 de la BD
Les données de la feuille "2" dans la ligne 3 de la BD... et ainsi de suite

A noter que pour les besoins de la démo je n'ai rentré dans cette BD que les premieres feuilles ce qui donne le graphique que tu peux voir.

Dans ce graphique, je n'ai traitées que les données des cellules B5 qui dans la feuille BD sont transposées dans la première Colonne.

Chaque colonne de la feuille BD devrait être nommée de manière dynamique de manière à s'ajuster aux données.

Pour l'instant je n'ai nommé que la première colonne... Qui s'appelle "JF1G"
Pour voir comment nommer une plage dynamique : regarder dans les Noms du classeur :
Les noms dans le classeur sont dans le gestionnaire de Noms.
Dans XP on les trouvait dans Insertion / Nom / Définir
Dans 2007 et ultérieur on les trouve dans le ruban onglet : Formules / icone Gestionnaire de noms...

Ainsi quel que soit le nombre de feuille dans le classeur (et le nombre de lignes dans la feuille BD) la plage "JF1G" désignera toujours la totalité de la première colonne.

...Et c'est tout ! A chaque fois qu'on veut rajouter des feuilles, YAPUKA cliquer sur le bouton dans la feuille graphique.
Ce qui met à jour la BD et le graphique.

YRESTEPUKA rajouter les noms dynamiques de toutes les colonnes de la BD et les 136 graphiques...

YFODRA aussi bricoler un peu la macro pour qu'elle prenne en compte les 136 graphiques et l'affaire est faite!

Pour rajouter les noms dynamiques (c'est sans doute le plus ch...) une 'tite macro devrait faire ça en un rien de temps...

La création des graphiques également... YAKE le macrotage qui pourrait peut-être poser problème... je ne sais pas si tu y sens bien ?

M'enfin... c'est quand même pas le bout du monde !

OK ?



Modifié par galopin01 le 20/10/2010 08:05
galopin01
 Posté le 20/10/2010 à 08:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Voici la macro qui crée toutes les plages dynamiques :

Sub AddAllName()
BDD.Activate
For i = 2 To 136
Cells(i).Select
s$ = Cells(i) & "G"
ActiveWorkbook.Names.Add Name:=s, RefersToR1C1:= _
"=OFFSET(BD!R1C" & i & ",1,,COUNTA(BD!C" & i & ")-1,)"
Next
End Sub

A+

[NOTA] : Les noms des colonnes dans la BD ont été donnés en fonctions des initiales des tableaux de Feuilles...

JF1G pour Jazz Fwd Module1, G est une constante (un détrompeur)
JR1G pour Jazz Rfl Module1, G est une constante ...
JC1G pour Jazz Current Module1, G est ...
... et ainsi de suite !

Exception : il n'a pas été possible de travailler avec :
RC1G pour Rock Current Module1, G... (conflit avec RC1 qui identifie des adresses de cellule)

J'ai donc utilisé :

RU1G pour "Rock CUrrent Module1, G..." pour toutes les colonnes relatives à Rock CUrrent Module... et pour les plages nommées qui vont avec.

Bien sur, il aurait été possible de travailler avec des noms plus significatifs, mébon... Ce n'est qu'une démo !



Modifié par galopin01 le 20/10/2010 13:53
galopin01
 Posté le 20/10/2010 à 12:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Voici enfin le classeur en version complète : les 136 graphiques ont été créés.

Pour la compréhension les graphiques ont été initialisés avec quelques feuilles.

En appuyant sur le bouton on actualise les graphiques avec la totalité des feuilles. Comme si on en avait rajouté de nouvelles.

Les spécialistes remarqueront au passage comment on a généré à la volée en un éclair les 136 graphiques (Sub AddGraph())

YAPUKA rajouter des feuilles supplémentaires !

[NOTA] Bien sur tout cela n'a que valeur de démonstration : S'il est possible de faire 136 graphes (1 par parametre) il est à plus forte raison possible d'un faire moins et de comparer plusieurs séries entre elles, sur le même graphe. Tout le problème étant de savoir exactement ce que veut notre amie.

Une fois la BD "collecteur" réalisée on en tire le graphe qu'on veut...



Modifié par galopin01 le 21/10/2010 14:35
ferrand
 Posté le 21/10/2010 à 10:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Beau travail . Je mets de côté pour y replonger.

Je n'ai jamais eu à générer des graphiques mais...

Et Spring ?

Publicité
galopin01
 Posté le 21/10/2010 à 11:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien
ferrand a écrit :

Et Spring ?

Grosse migraine ? A moins qu'elle ne digère pas bien le VBA !

jpr73
 Posté le 21/10/2010 à 12:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Galopin01,

Je confirme très beau travail.

J'ai noté :

  1. Feuille "Graphique" : les graphiques commencent à JF5G au lieu de JF1G ?
  2. Feuille "Graphique" : les graphiques RT14G à RT17G sont tracés 2 fois en fin de feuille avec 6 valeurs en x au lieu de 17 ?
  3. Feuille "Graphique" : les graphiques sont perturbés par des valeurs erronées (date, double valeurs dans la même cellule)

Le point 2 semble provenir du point 1 ?

Cordialement

galopin01
 Posté le 21/10/2010 à 14:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonjour,

'tain les mecs... Ben c'est vrai j'ai travaillé comme un cochon !

Explication : D'abord j'ai travaillé seulement avec 1 ou 2 graphiques ensuite j'en ai rajoutés, déplacés, supprimés...

Et puis à la fin j'ai fait une pseudo boucle pour complèter...

Donc y manque des graphes, il y en a qui se baladent quelque part au milieu de la feuille, d'autres qui sont réduit à l'état d'une simple ligne !

Et je n'ai pas pris le temps de vérifier que ce que je mettais en ligne était nickel.

Le lien à été modifié et j'ai purement et simplement supprimé la feuille "Graphiques" et modifiée la macro de création pour générer les graphes en une seule fois.

ça fait plus propre ! et en plus ça a un peu dégraissé le classeur...

Pour les valeurs erronées... J'y peux rien le classeur modèle était comme ça. Je n'ai rajouté que la feuille BD

Le nouveau classeur nettoyé.

spring
 Posté le 21/10/2010 à 18:00 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour!!

non pas de migraine, même si les macros VBA sont effectivement au delà de mes compétences... mais je comprends le principe.

C'est juste que je dois faire des déplacements pour le boulot en ce moment, d'où mon absence de réponse, je vais aller tester le fichier de Galopin01, mais de ce que j'ai vu ça a l'air parfaitement ce que je voulais faire!!

Je suis bluffée, bravo et un gros merci pour le travail, je n'attendais pas une réponse aussi complète ni aussi rapide!

Désolée Ferrand si je n'avais pas donné assez d'infos, merci quand même de t'être penché sur le pb...

Galopin01, je teste et je te reviens vite!

Spring

galopin01
 Posté le 21/10/2010 à 19:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Pas de souçi. Prend ton temps...

Nous on n'est pas pressés : On est à la retraîte !

spring
 Posté le 21/10/2010 à 19:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Ha, ça a l'air bien la retraite! pas sûr que je connaisse ça un jour...

Bon, j'ai actualisé le fichier, j'ai essayé de comprendre tes macros, mais ne connaissant pas le VBA et avec des rudiments de connaissances en dev, j'ai pas été loin... donc la grosse job du classeur continue de m'échapper! Dommage...

Anyway, j'ai noté que l'actualisation des données dans la feuille Data omet la feuille 7... et la dernière feuille de données est répetée (je n'ai pas encore essayé d'ajouter une feuille, j'ai juste mis à jour pour qu'il prenne en compte les données des 17 feuilles) donc on a le bon nombre de points dans chaque graphique, mais pas tout à fait les bonnes données...

je te joins de nouveau le fichier sur lequel j'ai constaté ces pb: Fichier à jour

Merci!

Spring

galopin01
 Posté le 21/10/2010 à 22:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonsoir,

C'est probablement une scorie de construction...

Il faut bien comprendre que le programme ne fait que rajouter les feuilles complémentaires qu'il trouve.

En aucun cas il ne vérifie les données existantes dans la BD. Donc s'il y avait au départ des données fantaisistes dans le téléchargement elles ne sont pas corrigées dans la mise à jour seules les nouvelles lignes sont ajoutées.

Tu peux réinitialiser tout le bouzin d'une manière très simple : Dans la BD tu sélectionnes toutes les lignes et tu effaces les données (en appuyant sur Suppr) pas en supprimant les lignes hein !

Tu reviens dans la feuille Graphiques : YAPU rien c'est normal !

Si tu actualises, cette fois ci toutes les feuilles sont bien copiées. Comme il y a 17 feuilles ça fait donc 18 lignes dans la BD avec la ligne d'en-tête.

OK ?



Modifié par galopin01 le 21/10/2010 22:45
spring
 Posté le 22/10/2010 à 21:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Allo Galopin01,

c'est parfait!

comment je fais pour modifier la mise en forme des graphiques (pas un par un...). Pour les mettre en histogramme, par ex? C'est qque part dans ton code?

Spring

Publicité
galopin01
 Posté le 22/10/2010 à 21:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

bonjour,

Dans la macro :

Sub MajGraph()
Dim ch As ChartObject
For i = 1 To 136
sL$ = Sheets("BD").Cells(i).Value & "G"
'On Error Resume Next
Set ch = Worksheets("Graphiques").ChartObjects(i)
ch.Chart.ChartWizard Source:=Worksheets("BD").Range(sL), _
gallery:=xlLine, Title:=sL
Next
End Sub

Tu peux remplacer xlLine par :

xlArea
xlBar
xlColumn
xlLine
xlPie
xlRadar
xlXYScatter
xlCombination
xl3DArea
xl3DBar
xl3DColumn
xl3DLine
xl3Dpie
xl3DSurface
xlDoughnut
xlDefaultAutoFormat

...et probablement 3 douzaines d'autres possibilités avec Excel 2007 que je n'ai pas en ce moment !

A+

galopin01
 Posté le 22/10/2010 à 22:07 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

De plus dans la même macro tu peux ajouter

Sub MajGraph()
Dim ch As ChartObject
For i = 1 To 136
sL$ = Sheets("BD").Cells(i).Value & "G"
'On Error Resume Next
Set ch = Worksheets("Graphiques").ChartObjects(i)
ch.Chart.ChartWizard Source:=Worksheets("BD").Range(sL), _
gallery:=xlLine, Format:=10, Title:=sL
Next
End Sub

...Avec des valeurs pouvant aller de 1 à 10...

[Nota] Certaines valeurs peuvent produire une erreur : lors du débogage YAKA remplacer par une autre valeur...

A+

spring
 Posté le 22/10/2010 à 22:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Hou... si c'est joli!

je vais pouvoir embellir tout ça...

C'est formidable, un gros gros merci Galopin01!!

galopin01
 Posté le 22/10/2010 à 22:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Attention...

Avec autant de graphiques on risque d'atteindre très rapidement les limites d'Excel...

D'autres techniques sont possibles pour schématiser de nombreuses données avec le même graphique : le plan, les filtres...

Ensuite YAPUKA modifier les séries du graphiques en fonction du filtre.

Dans ce cas ou tous les graphiques ont le même nombre de données YAKE la colonne de la BD qui change...

On peut donc à l'intérieur d'un seul et même graphique représenter les variations de toutes les variables simplement en agissant sur le N° de colonne de la série source (avec une toupie par exemple...) mais ceci est une autre aventure...

A+

galopin01
 Posté le 22/10/2010 à 22:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Toujours sur la même base, voici une autre possibilité.

Toujours avec le bouton Actualisation qui marche pareil, mais avec une toupie qui permet de choisir le graphe qu'on affiche.

C'est quand même plus écolo ! (Nettement moins vorace en ressouce Excel !)

A+

Publicité
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
99,90 €Disque dur Western Digital Red 4 To à 99,90 €
Valable jusqu'au 28 Septembre

Amazon propose actuellement le disque dur Western Digital Red 4 To à 99,90 € livré gratuitement alors qu'on le trouve ailleurs autour de 125 €. Ce disque dur 3.5 pouces SATA III est adapté aux NAS et ordinateurs qui fonctionnent 24h/24.


> Voir l'offre
209,99 €Box Android Nvidia Shield TV Pro 2019 16 Go avec télécommande à 209,99 €
Valable jusqu'au 02 Octobre

Amazon fait une petite promotion sur la box Android Nvidia Shield TV Pro 2019 16 Go avec sa télécommande à 209,99 € avec le code SMARTHOME. On trouve ailleurs ce pack à partir de 219 €. Compatible FullHD et 4K, vous pourrez utiliser vos applications Android, jouer et regarder des films et des séries en très haute résolution sur votre TV (compatible Kodi, Molotov, Netflix, YouTube ...). La box permet également de jouer à vos jeux PC diffusés en streaming directement avec une très faible latence.  La livraison est gratuite.


> Voir l'offre
13,79 €Adaptateur USB 3.0 Ethernet Gigabit TP-Link UE300 à 13,79 €
Valable jusqu'au 28 Septembre

Amazon fait une promotion sur l'adaptateur USB 3.0 Ethernet Gigabit TP-Link UE300 qui passe à 13,79 € au lieu de 20 €. Cet adaptateur vous permettra de rajouter une prise Ethernet Gigabit à votre ordinateur portable (ou votre tablette via un adaptateur OTG) qui en est dépourvu.


> Voir l'offre

Sujets relatifs
ouvrir nouvelle feuil ?
Données sur compte FTP.
Combinaison de 2 base de données comparatives
Gérer N° chèque automatiquement dans Compte et budget
Importer données web sur excel automatiquement
Format de base de données non reconnu (access 2003)
Convertir Bases de données Access 2003 en LibreOffice Base
Supprimer feuil
Créer un fichier xls suivant des données de scripts
Résultat avec transfert de données
Plus de sujets relatifs à Prendre en compte les données d''une nouvelle feuil
 > Tous les forums > Forum Bureautique