Comment créer un état en fonction de critères ?

F

flyjodel

Guest
Bonjour à tous,

tout d'abord, je suis impressionné par l'activité de ce site qui est celui qui me manque depuis longtemps ! Après avoir parcouru les 15 premières pages de posts sans réponse précise, je me lance et pose ma question.

J'ai un classeur qui contient des enregistrements. J'aimerais créer plusieurs feuilles d' "état" qui synthétisent certaines des données selon certains critères.

Dans mon fichier d'exemple, la première feuille représente le résultat que je désire obtenir, la feuille Liste est à ignorer, et la feuille Données contient les enregistrements. C'est ici que sont entrées les données par l'utilisateur.

J'aimerais savoir dans quelle direction je dois orienter mes recherches. Si possible je voudrais programmer cela sans passer par les macros VBA (utilisation ultérieure sud PDA), mais la fonction Filtre Elaboré ne semble pas permettre la création d'un ETAT au fur et à mesure qu'on entre les nouvelles données. (de plus je ne connais pas VBA, donc ça m'éviterait de me lancer dans un tout nouvel apprentissage, long et fastidieux)

Merci de me dire comment faire ou à défaut dans quelle direction rechercher.
Michel
 

Pièces jointes

  • flyjodel1.zip
    5.2 KB · Affichages: 36
C

Celeda

Guest
Bonjour,

Trois pistes (deux dans le fichier):

Avec un filtre, en faisant F5, en choississant seulement les cellules visibles, on peut faire un copier coller dans une aute feuille du résultat obtenu du filtre. Mais à refaire à chaque fois.

Avec un TCD, en changeant les colonnes de place pour y voir un peu mieux,
et en décochant le type d'items, on a un résultat chiffré (on peut cacher la colonne total, si pas nécessaire)
Se réactualise (si dans options cocher à chaque ouverture du classeur) à chaque entrée de données en cliquant sur le point d'exclamation.

Avec une conso à monter en formules, sinon .....................vba !

Celeda
 

Pièces jointes

  • TCDflyjodel1.zip
    7.3 KB · Affichages: 26
R

Rénato

Guest
Bonjour flyjodel,

Voici un projet qui peut te convenir, la mise à jour automatique nécessite cependant une toute petite macro.

Si tu veux consulter l'éditeur, faire : Outils/Macro/Macro/Modifier ou ALT F11

Bien cordialement

Rénato
 

Pièces jointes

  • flyjodel.zip
    11 KB · Affichages: 31
F

flyjodel

Guest
Bonjour, je suis impressionné par la rapidité et la qualité de vos réponses, merci !

J'ai à présent plusieurs questions :

Celeda ->

1. où trouver un cours (gratuit, c'est une utilisation perso) sur les tableaux croisés dynamiques que je ne comprends pas trop ?

2. j'ajoute une ligne avec l'immat FGDDB, correspondant au Club 'afn'. Ensuite je sélectionne une case dans ton TCD, puis j'actionne le point d'exclamation, mais le résultat ne se met pas à jour. Pourquoi ?

3. Comment choisir le 'Club' qu'on veut voir affiché dnas l'état ?

4. à quoi correspond la case M1 de la feuille Résultat! (plusieurs éléments)

5. je ne comprends pas ta phrase :
"Avec une conso à monter en formules, sinon .....................vba !"

Un bon cours s'avère nécessaire pour moi je crois !

Rénato ->

j'avais dit SANS VBA !!! ;-)
Merci pour ta réponse complémentaire à la précédente qui me fait comprendre que le VBA sera sans doute une bonne solution à certains de mes problèmes existentiels. Tu as ouvert une porte que j'avais toujours voulu garder fermée, et je sens que je vais m'y engouffrer... Allez hop, et cent heures de plus devant l'écran !

- pour apprendre ce langage, comment procéder ? Un bouquin ou peut-on le faire par l'exemple ? Par exemple, comment as-tu trouvé cette "fonction" .AdvancedFilter et ses paramètres ?

merci encore !
 
C

Celeda

Guest
Bonsoir,

à Renato : oh oh oh oh mon amigo…..princesse…..juste dans les rêves;
j'aimerai être une véritable princesse mais toujours pieds nus!!!

flyjodel :
1. où trouver un cours (gratuit, c'est une utilisation perso) sur les tableaux croisés dynamiques que je ne comprends pas trop ?
avec la touche F1 dans excel, tu tapes tableaux croisés
dynamiques et tu vas avoir des exemples
(ici je suis embêtée pour te mettre quelques approches de l'aide
car j'ai excel en anglais mais cette touche
même si elle ne renseigne pas sur tout, donne quelques
enseignements basics sur les TCDs)

en allant fureter sur le net : je te laisse le choix aussi bien sur les
sites français que sur les sites anglophones
(en tapant Pivot tables)

en pratiquant sans cesse les tableaux et en posant des
questions sur le forum ou bien en cherchant aussi
avec la fonction recherche du forum, voir les anciens messages



2. j'ajoute une ligne avec l'immat FGDDB, correspondant au Club 'afn'. ", puis j'actionne le point d'exclamation, mais le résultat ne se met pas à jour. Pourquoi ?

"j'ajoute une ligne avec l'immat FGDDB", :

tu ajoutes une ligne dans la feuille Données
Avec l'assistant du TCD: si tu AJOUTES une ligne dans la base de
données,
il faut ajuster la plage :
exemple, ici le TCD va de la ligne Données!$A$1:$J$16
tu as le choix d'ajuster la plage en tapant J17 à la mimine

ou bien entrer une formule pour ne plus avoir à toucher la base
et peu importe
le nombre de lignes, en placant cette formule dans Insertion-
Noms :
Tablo=DECALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL$A$1:$X$1))
on prend large pour la base de données et on ajuste au cas où
l'on aurait 2500 lignes par exemple(attention aux étiquettes)


"Ensuite je sélectionne une case dans ton TCD"

il suffit de se placer dans le TCD et actionner le point
d'exclamation, sans selectionner yn champ en particulier,
il se peut que si la plage n'a pas été redéfinie, le TCD ne prenne
donc pas en compte cet ajout de lignes, bien vérifier

3. Comment choisir le 'Club' qu'on veut voir affiché dnas l'état ?
4. à quoi correspond la case M1 de la feuille Résultat! (plusieurs éléments)

Les deux vont ensemble Mon Capitaine :

si tu redescends le champ de la case M1
et que tu le replaces en ligne comme dans l'exemple,
tu verras que j'ai décoché certains items de Club puisque je ne
voulais afficher que AFN (voir nouvel ex dans le fichier attaché)

(je l'avais placé en M1 pour qu'il soit plus apparent, mais tu
t'apercevras qu'avec les TCDs, on peut déplacer les champs
au gré des résultats escomptés)

5. je ne comprends pas ta phrase :

on pourrait faire un tableau récapitulatif avec des Formules du
style SommeProd ou SommeSi.


Dans le cas du TCD, il faut savoir qu'il y a risque de saturation selon la mémoire du pc dont on dispose et qu'au-delà de 8000 données selon la disposition des champs,il ne veut plus travailler.

Avec les sommeprod, c'est un autre dilemme : la vitesse de recalcul selon le nombre de données à restituer, mais les SP remplissent bien leur rôle.

Quant au VBA, c'est sans nul doute le meilleur atout pour faire des tableaux récapitulatifs.
Il y a dans le Wiki du forum, d' excellents exemples en tableaux VBA dont un : voir le Kiki de Zon

Celeda
 

Pièces jointes

  • TCDflyjodel101.zip
    7.6 KB · Affichages: 38
R

Rénato

Guest
Bonsoir flyjodel,

Les quelques lignes que tu cites ne sont que la traduction en code d'un filtre élaboré.
Les manuels dans ce domaines sont nombreux, y compris sur ce site (va jeter un oeil à la boutique), au bout de ce lien, tu trouveras l'un d'entre eux

http://www.excel-downloads.com/livres/Formation-Interactive-a-VBA-Excel/23.htm

réalisé par le célébre gaetan.
En complément des supports pédagogiques, je pense que la lecture des scripts des différents programmeurs (et sur ce site ils sont nombreux, TI, MDF, pour ne citer qu'eux) est facilitante.

A+

Rénato
 
F

flyjodel

Guest
Merci beaucoup pour les précisions, j'ai fait quelques modifications, je n'arrive pas encore exactement au résultat voulu avec les TCD, mais c'est pas mal. J'ai trouvé un cours assez agréable sur le VBA à l'adresse suivante :
http://www.chez.com/cherbe/

Vous m'avez mis le pied à l'étrier, merci encore !
Michel
 
F

flyjodel

Guest
Bonjour à tous,

j'ai regardé les TCD avec un peu plus d'attention, et j'arrive à faire à peu-près ce que je veux maitnenant.

J'ai deux questions à ce propos, mais je ne veux pas trop polluer le forum alors n'hésitez pas à me dire s'il vaut mieux que je les pse dans un nouveau fil.

- Les données du TCD sont tirées des colonnes entières (et pas juste de la zone qui contient les données), donc il y a des lignes vides forcément. D'ailleurs dans le TCD, il y a une ligne qui reprend le mot (vides). J'ai réussi à l'enlever en sélectionnant les dates voulues avec la petite flèche et en désélectionnant (vides). Mais n'est-ce pas une erreur du programme ? En effet, il en compte 10. Pourquoi ce chiffre ?

- dans la colonne 'd' par exemple, j'ai soit la valeur 'd' soit rien. J'aimerais que quand il n'y a rien, le TCD n'affiche rien dans la case (mais affiche quand meme la ligne , donc pas possible de désélectionner la valeur (vide) de la colonne 'd' ). Comment faire ?

- enfin j'ai des heures dans certaines colonnes, mais je n'ai pas besoin des secondes. Donc je change le format des colonnes qui supportent le rapport du TCD par [hh]:mm et ça marche. Mais dès que je réactualise les données suite à l'insertion d'un nouvel enregistrement dans la base de données par exemple, et bien ces colonnes perdent leur format et reprennent hh:mm:ss. Comment éviter cela ?

Merci et bon week-end à tous !
Michel
 

Pièces jointes

  • flyjodel2.zip
    16 KB · Affichages: 24
  • flyjodel2.zip
    16 KB · Affichages: 26
  • flyjodel2.zip
    16 KB · Affichages: 23
C

Celeda

Guest
Bonjour,

Dans le fichier joint tu as les réponses à tes questions : je n'ai pas pu refaire le fichier, à chaque fois que je sauvegardais je passais à 4300 ko,
alors je t'ai fait un copier coller des comments :

1- il est préférable d'utiliser une fonction pour définir la base de données ou de nommer la base de données directement, plutôt que d'utiliser des colonnes entières.

Nommer la base de données Tablo par Insertion Noms et taper la formule ci-dessous.:
DECALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$X$1))
on suppose les etiquettes de données en A1.
Cela rend dynamique la base de données.


2-Oui, on peut faire ainsi :
On peut se placer dessus le mot et en faisant un espace, on supprime le mot, toute la ligne ou la colonne avec Vide sera blanche,
c'est la méthode manuelle;
on doit pouvoir faire une macro pour vider de son contenu les cellules (vides) !!

3- "Comment éviter cela ?" : je n'y arrive pas
il semble que le format soit là d'office!! même si on change dans la base de données le format d'heures.

4- 10 = est l'équivalent des 10 colonnes de la base de données
(si tu cliques sur 10, tu verras apparaître les 10 colonnes vides!! sur 65500 lignes !!!)

5- Pour ta formule dans ta base de données pour éviter les NA :
faire une gestion d'erreur avec SI(ESTNA(la formule));"";(la formule))
=IF(ISNA(LOOKUP(B18;Liste!$A$2:$A$19;Liste!$E$2:$E$19));"";(ISNA5LOOKUP(B18;Liste!$A$2:$A$19;Liste!$E$2:$E$19)))


Celeda
 

Pièces jointes

  • flyjodel2.zip
    18.5 KB · Affichages: 32
  • flyjodel2.zip
    18.5 KB · Affichages: 33
  • flyjodel2.zip
    18.5 KB · Affichages: 35

Discussions similaires

Statistiques des forums

Discussions
312 428
Messages
2 088 338
Membres
103 821
dernier inscrit
Lorient56