Excel - Analyse de données

[Résolu/Fermé]
Signaler
Messages postés
88
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
22 février 2014
-
Messages postés
88
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
22 février 2014
-
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

11 réponses

Messages postés
24183
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
20 septembre 2021
6 888
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 506
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
24183
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
20 septembre 2021
6 888
bon reflexe gb et bonne soirée :-)
Tu peux appliquer tout de suite brochamin tu auras un gain nettement plus important
Messages postés
88
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
22 février 2014
24
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
88
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
22 février 2014
24
Maintenant qu'il fait jour, est-ce qu'il y a une bonne âme pour m'aider.

Merci
Messages postés
16513
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
20 septembre 2021
3 221
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
Messages postés
88
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
22 février 2014
24
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.
Messages postés
24183
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
20 septembre 2021
6 888
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
Messages postés
88
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
22 février 2014
24
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
Messages postés
88
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
22 février 2014
24
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.
Messages postés
24183
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
20 septembre 2021
6 888
de rien,
bonne continuation
eric
Messages postés
88
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
22 février 2014
24
Merci à vous deux pour vos conseils.