Excel - Analyse de données

Résolu/Fermé
brochamin Messages postés 88 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 22 février 2014 - 28 oct. 2008 à 21:55
brochamin Messages postés 88 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 22 février 2014 - 3 nov. 2008 à 20:43
Bonjour,
J'ai une base de données sur excel que je souhaite pouvoir analyser. J'ai voulu faire un tableau croisé dynamique, mais je rencontre 1 problème:

J'ai beaucoup d'informations dans le champs "données", pour que le tableau soit plus lisibles, je coche ou décoche les informations qui m'intéressent à l’instant T dans le menu déroulant du champs "lignes" (endroit où se mettent les intitulés des calculs fait par excel à partir champs mis dans "données"). Le problème est que dès qu'une information du champs "données" est décochée, elle disparait complètement du menu déroulant. On ne peut plus réactiver son affichage. La seule solution est d'afficher la "liste des champs" disponibles pour la constitution du TCD et de refaire glisser ce champs dans la partie "données" du tableau. Un peu pénible à la longue, d'autant qu'excel ne retient pas l'ordre où il était placé avant de disparaitre.

Merci à ceux qui se pencheront sur mon problème.

je mets mon fichier en pj au cas où mes explications ne soient pas très claires...

Pour info, j'utilise excel 2002

https://www.cjoint.com/?kCvYF13Yt8
A voir également:

11 réponses

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
30 oct. 2008 à 21:09
comment faire pour borner mes calculs en fonction des listes déroulantes
tu ne peux pas facilement car c'est une chaine (janvier>avril ...), de plus avec l'année en dernier.
Sur feuille 'Données' en C utilises plutôt le format "aaaa-mm"
Pour tes listes déroulantes prépare une liste à part sous la forme 2006-01 2006-02... ça évitera d'avoir 12 fois la même valeur.
Et dans tes formules tu pourras ajouter sommeprod(...*(Données!C2:C65536>=A2)*(Données!C2:C65536<=B2))

pourquoi excel met tant de temps ?
déjà faudrait préciser en faisant quelle opération.
Mais la réponse générale est qu'il a bcp de calcul à faire et qu'il faut optimiser.
- à quoi sert la colonne B avec =TEXTE(A3;"aaaa") puisque qu'il n'y a aucune dépendance et que tu as la même chose dans la colonne A ?
- supprimer en colonne C NOMPROPRE() puisque ça n'agit pas sur le format fournit par texte()
- colonne K (et d'autres) : =SI(G2=0;"0";$G2/(I2/"1:00")). Tu as 'valeur 0' de coché dans 'outils / options / affichage'. Mets seulement =$G2/(I2/"1:00"), c'est suffisant si c'est le numérateur que tu testes.
- et tant que tu y es le (Données!C2:C65536>=A2)*(Données!C2:C65536<=B2) que tu vas utiliser de multiples fois calcule le une fois dans une colonne et utilises cette colonne

Et si tout ça n'est pas suffisant, garder les formules uniquement en ligne 2 (valable si tu es le seul utilisateur de fichier ou sinon tu sensibilises les utilisateurs) :
sélectionner A3, shift+ctrl+fin, (éventuellement remonter de qcq lignes avec shift+fleche haut si tu veux qcq formules d'avance en bas) clic-droit, copier, collage spécial valeur . Une fois habitué ça se fait très vite...
Si la dernière colonne est utilisée par (Données!C2:C65536>=A2)*(Données!C2:C65536<=B2) la déselectionner avec shift+fleche gauche avant le copier/coller...
Je te conseille de repérer les colonnes avec formule d'un fond coloré pour les repérer.
Si tu modifies une valeur existante tu sélectionnes la cellule avec formule, un double-clic sur son carré noir en bas à droite et elle se recopie jusqu'en bas pour recalculer les valeurs. Idem pour toutes les formules...
Pour des ajouts copier/coller la ligne 1 plusieurs fois en bas


eric
1
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
30 oct. 2008 à 23:44
bonsoir brochamin, Éric

Le calcul est toujours long,

Si je puis me permettre, la façon dont tu as nommé tes colonnes ne facilite pas la rapidité du calcul.

Pour "Cadences_réelles" par exemple

=Données!$P$2:$P$65536

peut être remplacé par

=DECALER(Données!$P$2;;;NBVAL(Données!$A:$A);1)

Ainsi les calculs ne se font que sur la zone utilisée et c'est beaucoup plus rapide.

Il faut bien sûr que toutes les zones soient nommées ainsi pour avoir des tailles identiques, mais en copiant la première, il suffit ensuite de coller et changer la lettre de la colonne.
1
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
30 oct. 2008 à 23:52
bon reflexe gb et bonne soirée :-)
Tu peux appliquer tout de suite brochamin tu auras un gain nettement plus important
0
brochamin Messages postés 88 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 22 février 2014 24
3 nov. 2008 à 20:43
J'ajoute simplement un dernier post pour ceux qui rencontreraient les mêmes problèmes que moi. Je souligne l'importance du conseil de gbinforme pour réduire le temps de calcul d'excel.

Une astuce bien pratique, encore merci.
1
brochamin Messages postés 88 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 22 février 2014 24
29 oct. 2008 à 08:47
Maintenant qu'il fait jour, est-ce qu'il y a une bonne âme pour m'aider.

Merci
0

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

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
29 oct. 2008 à 09:52
Bonjour,

clic droit dans ton tcd
afficher la liste de champs
sélectionne la (ou une) donnée en cause : elle n'est pas en gras
ajouter à "zone de données"
cliquer glisser vers la zone de données (celle où tu as tes calculs)
la donnée réapparait en bas de la liste
0
brochamin Messages postés 88 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 22 février 2014 24
29 oct. 2008 à 10:07
Bonjour,
Merci pour cette réponse, mais je connais ce moyen pour retrouver une donnée. C'est ce que je qualifie de "pénible à la longue". Je cherchais une autre méthode qui permette de ne pas faire disparaitre du menu déroulant, le champs que je décoche.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
29 oct. 2008 à 18:58
Bonsoir,

pour l'instant à part te faire une macro qui te les rétablit je ne vois pas...
exemple pour rétablir 'Somme de nb Séries' :
Sub resetPivotFields()
With ActiveSheet.PivotTables("Tableau croisé dynamique1")
.AddDataField ActiveSheet.PivotTables("Tableau croisé dynamique1") _
.PivotFields("nb Séries"), "Somme de nb Séries", xlSum
.DataPivotField.PivotItems("Somme de nb Séries").Position = 2
End With
End Sub
eric
0
brochamin Messages postés 88 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 22 février 2014 24
30 oct. 2008 à 17:33
Je résous partiellement mon problème en ne passant plus par un TCD, mais en faisant moi même les calculs. Ensuite je pourrais utiliser des filtres pour afficher ou masquer telle ou telle donnée.

Je rencontre un autre problème: comment faire pour borner mes calculs en fonction des listes déroulantes que j'ai mis en haut de page...? J'ai fais un test sur la ligne 13, mais pas très concluant. fichier ci-dessous

Question subsidiaire: pourquoi excel met tant de temps à faire les calculs du tableau (pas instantané)?

https://www.cjoint.com/?kErFoN68oX

Merci
0
brochamin Messages postés 88 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 22 février 2014 24
30 oct. 2008 à 22:16
Merci mille fois !!!

Tes conseils sont exactement ce qu'il me fallait ! Le calcul est toujours long, mais je vais pouvoir optimiser les choses maintenant que le fond est bon! C'est pas facile, mais on peut bien se passer des TCD.

Si ça t'intéresse de voir le résultat, je mettrais bien volontier le classeur à ta dispositiion.

Encore merci de ton aide.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
30 oct. 2008 à 23:49
de rien,
bonne continuation
eric
0
brochamin Messages postés 88 Date d'inscription vendredi 14 décembre 2007 Statut Membre Dernière intervention 22 février 2014 24
31 oct. 2008 à 08:05
Merci à vous deux pour vos conseils.
0