Graphique Excel à données sources variables

Fermé
slovo133 Messages postés 17 Date d'inscription mardi 13 octobre 2009 Statut Membre Dernière intervention 14 janvier 2010 - 12 nov. 2009 à 17:33
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 24 nov. 2009 à 07:35
Bonjour,

J'ai une petite question sur excel dont je n'arrive pas à trouver la
réponse (voire même si c'est possible).

Voici le contexte de mon fichier excel (simplifié pour le principe,
j'adapterai pour mon besoin) :

- De A5:B70 : j'ai a un rapport de tableau croisé dynamique (que l'on
appellera TCD) qui génère un tableau de données (à deux colonnes)
- Ce rapport de TCD contient une liste qui permet de visualiser d'autres
variables et donc de générées d'autres données mais ces données seront
toujours comprises de A5 à B70.
- A droite de ces données j'implante un graphique qui dessine l'évolution
de ces données et trace une courbe de tendance polynomiale de
degré deux.

Problème :

- Ponctuellement certaines données affichées dans le rapport du TCD ne
suivent pas la tendance des données voisines ou la tendance globale. On les
appellera les données parasites.
- La courbe de tendance générée est donc faussée, de même pour le
coefficient de corrélation.

Mon idée :

Pour résoudre ce problème, je souhaite pouvoir intervenir manuellement sur
les données parasites (soit en les éliminant, soit en leur donnant une
valeur en cohérence avec la tendance globale).
Pour cela :

1. De A75: B140 (sous le TCD), je fais recopier par excel chacune des lignes du TCD selon le principe décrit
par les formules suivantes :
A75=A5
A76=A6
...
A139=A69
A140=A70

2. Manuellement je retouche les données parasites

3. Je voudrais implanter deux "boutons" qui me permettent de faire basculer
les données sources du graphique de A5:B70 à A75:B140 (et vice versa) c'est à dire que je
pourrais afficher les données théoriques pures et les données retouchées
manuellement via l'appui sur ces boutons (ou un seul bouton en mode "switch" par
exemple ou tout autre solution qui permettrait de voire les deux types de données).

3. Je pense aussi à un troisième "bouton" qui me permettrait de remettre à
zéro les données retouchées (A75:B140). En effet, comme précisé plus haut,
le TCD peut généré des données de différentes variables (via une liste) et
la retouche manuelle d'un cas ne sera pas applicable à un autre.

Voilà je ne sais pas si cela est réalisable ou non ?

Peut être que pour mon idée, Excel peut géré cela via une fonction dédiée
que j'ignore. Je suis donc preneur de toute solution qui répondrait au
problème.

D'avance merci.
A voir également:

7 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
12 nov. 2009 à 21:11
Bonsoir,

Tu devrais déposer un fichier exemple sur cijoint.fr et coller ici le lien fourni.

eric
0
slovo133 Messages postés 17 Date d'inscription mardi 13 octobre 2009 Statut Membre Dernière intervention 14 janvier 2010
13 nov. 2009 à 18:32
Bonjour voici le fihcier comme demandé

http://www.cijoint.fr/cjlink.php?file=cj200911/cijPZanNdu.xls
0
slovo133 Messages postés 17 Date d'inscription mardi 13 octobre 2009 Statut Membre Dernière intervention 14 janvier 2010
15 nov. 2009 à 09:46
quelqu'un pourrais t-il m'aider ???
0
slovo133 Messages postés 17 Date d'inscription mardi 13 octobre 2009 Statut Membre Dernière intervention 14 janvier 2010
17 nov. 2009 à 11:29
D'avance merci...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
17 nov. 2009 à 22:33
Bonsoir,

Voici une proposition.
Sur sheet1 les données sont à coller en A:C, elles sont récupérées (1 sur 2) en E:I pour reconstituer les groupes A et B.
En G et I j'ai tenté d'éliminer les valeurs atypiques par formules (je considères que celles en ligne 2 sont obligatoirement acceptées), tu peux enlever ou simplifier la formule si ce n'est pas convaincant mais les données doivent y être...
Je calcule l'écart type sur 5 données consécutives et la valeur est refusée si la différence avec la précédente est supérieure à 1.5 écart type. Si tu gardes le principe il faudra modifier la plage à partir de la 6ème valeur pour calculer l'écart type avec les 5 valeurs précédentes que les dernières lignes ne soient pas faussées par les 0 en dessous (bon, pas très clair mais je me suis compris.... ;-) )
K2 est nommé nbvaleurs et est nécessaire à la macro.

En feuil1 je sélectionne les valeurs par boutons d'option, plus simple à gérer. Tu pourras changer, ce qui compte c'est le principe pour changer la source des données...
Je t'ai ajouté un bouton pour 'vider les cellules vides', en clair c'est pour vider complètement les cellules, les "" étant pris pour 0 dans les graphiques.
Sélectionner la plage voulue sur les données corrigées (en D:F) et cliquer sur le bouton.
Ca implique, les données B:F étant récupérées de sheet1 par formule, qu'il faut recopier ces formules pour un nouveau jeu de données.
Slovo133.xls

eric
0
slovo133 Messages postés 17 Date d'inscription mardi 13 octobre 2009 Statut Membre Dernière intervention 14 janvier 2010
24 nov. 2009 à 05:47
Rebonjour,

Tout d'abord désolé pour le retard, et un grand merci pour votre fichie qui répond parfaitement aux grandes lignes de mon besoin (et va même encore plus loin que ce que j'imaginer) vraiment génial, un grand merci !!!

j'ai adapté l'ensemble de votre code à mon besoin (j'ai notamment tout
regrouper sur le même onglet : c'est à dire aussi bien valeur brutes;
valeurs retouchés, écarts type, comptage; ect.)
D'ailleurs en réadaptant votre code, j'ai été confronté à un problème
(celui de nbvaleurs), je l'ai finalement résolu car nbvaleurs était définit
en tant que référence via Insertion / Nom / Définir et j'ai changer la
référence initiale par la nouvelle cellule correspondante.

Seulement maintenant (depuis ces modif) cela affiche les zéros (pour les valerus estimés problématique) et non nu espace vide dans le graphique ce quinuit à la corrélation alors que votre code initial cela fonctionne trèsbien) Ma question est donc : comment avez vous réaliser la suppression des
cellules vides.

Pour cela je pense que j'aurais besoin de savoir comment fonctionne le module pour vider les cellules
dont on a estimé qu'aucune valeur affectée serait meilleure (en corrélation) que la valeur initiale :

Sub vidercellules()
For Each c In Selection
If c.Value = "" Then c.Value = Empty
Next c
End Sub
(je ne comprends pas notamment le "c" et "in selection" ainsi que leur rôle, et cela même avec l'aide d'excel)

D'avance merci.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
24 nov. 2009 à 07:35
Bonjour,

Selection correspond à la plage sélectionnée sur la feuille.
J'avais mis ainsi pour plus de souplesse mais ça pourrait être une plage codée en dur.

'For each c in ...' = 'pour chaque cellule dans ...'
Je balaye toute la plage pour vider les cellules vides, que tu peux compléter par les 0 si tu dois ne jamais en avoir :
If c.Value = "" or c.Value = 0 Then ...
Mais si tu y as des formules elles disparaissent et il faudra les remettre (manuellement ou par macro).

eric
0