Excel : Tabl. croisé dyn. sur classeur entier

Résolu/Fermé
Kim tucker - 5 janv. 2011 à 13:10
 kim tucker - 21 janv. 2011 à 12:31
Bonjour,

Déjà merci d'avance a ceux qui prendront la peine de répondre.

Je voudrais réaliser un tableau croisé dynamique pour faire une liste de retards.
Je reçois chaque semaine mes plannings sur un fichier excel, sous forme de feuilles (semaine 01, semaine 02, etc.). Chaque ligne du planning correspond a une tache que je dois effectuer dans la semaine. Je mets donc "ok" a la fin de la ligne quand c'est fait.
Mes planning font parfois 200 lignes, donc je voudrais synthétiser ce qui reste a faire sur une autre page, une sorte de liste de retards. Le souci, c'est qu'un tableau croisé dynamique se sert de données existantes, or les plannings des semaines suivantes ne sont pas encore intégrées dans mon classeur...
Quand je vais recevoir le planning "semaine 03", mon tableau ne sera plus a jour, puisqu'il puisera ses données dans les feuilles précédentes ....

Help.

A voir également:

16 réponses

Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
5 janv. 2011 à 20:54
Bonjour,
Ce n'est pas tout clair, pouvez-vous expliquer comment se présente le classeur .... ?
Eventuellement une copie sur https://www.cjoint.com/ et poster le lien.
0
Disons que nous sommes en semaine 02 (ce qui est le cas, on est la deuxième semaine de l'année 2011).

mon classeur se présente ainsi:

il comporte plusieurs feuilles (semaine 02, semaine 01, semaine 51, semaine 50, etc...). Ca va dans l'ordre décroissant car c'est mon supérieur qui -lorsqu'il reçoit le planning de la semaine suivante par la hierarchie- l'intègre dans mon classeur, devant les autres feuilles. Donc, quand mon supérieur va recevoir le planning de la semaine 03 sur son pc, il va me le mettre en copie dans mon classeur, devant la semaine 02.

Le planning de la semaine se présente comme un tableau normal. Sur la ligne 1, il y a des étiquettes "nom client - adresse - désignation - quantité a livrer, etc..." et les lignes suivantes, ben, toutes les données...
A partir de ca, je rajoute une colonne "ETAT" au bout du tableau, ou je note, pour chaque ligne si c'est "ok", ou "en cours", ou même parfois "problème".
Et ca marche pareil pour chaque semaine, donc chaque feuille du classeur.

Le souci que j'expliquais, c'est que chaque semaine, je dois faire manuellement une liste de "retards", c-a-d des lignes qui ne sont pas "ok". Il y a de nombreuses lignes pas "ok" dans les semaines passées mais proches, et quelques unes dans les semaines passées un peu plus éloignées.

Je pourrais faire une formule pour rechercher dans le classeur toutes les lignes ou il n'y a pas "ok", et les faire apparaitre dans une autre feuille du classeur appelée "LISTE RETARDS", mais il faudrait que ca fasse apparaitre les lignes dans le bon ordre, c-a-d le plus ancien en haut du tableau, pour traiter en premier les lignes les plus urgentes...
Je sais pas si c'est plus clair, je ne peux pas fournir de classeur de mon boulot...
0
Raymond PENTIER Messages postés 58397 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 26 avril 2024 17 094
6 janv. 2011 à 04:38
"je ne peux pas fournir de classeur de mon boulot"
Pourquoi ? tu changes les noms propres, c'est tout ...
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
Modifié par Le Pingou le 6/01/2011 à 11:30
Bonjour,
Je pense avoir saisi votre problème, le temps de créer un petit fichier (excel 2007)... , une proposition d'ici demain.
Au passage, bonjour Raymond, les petits oiseaux sur la branche sont-ils bien arrivées ... !
Salutations.
Le Pingou
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
7 janv. 2011 à 10:45
Bonjour,
Dans ma proposition j'ai admis que le nom de feuille se termine au minimum du numéro de la semaine et de l'année (car plus d'une année selon vos explications) : exemple : Sem......02_11
La commande de mise à jour de la liste sur la feuille [LISTE RETARDS]. Note : la semaine en cour n'est pas prise en compte dans la liste.
Ma proposition : https://www.cjoint.com/?3bhkSI7azvO
0

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

Posez votre question
pour répondre a "Raymond PENTIER", non, je ne pouvais pas fournir de classeur parce que je n'ai qu'un écran a mon poste. Je n'ai pas de tour ou brancher une clé ou autre chose. Je n'ai pas d'imprimante non plus. Tout ca est au service informatique.

Mais bon, après ta remarque, j'ai tenté d'aller les voir pour leur expliquer que je souhaitais faire quelques modifs chez moi, et ils ont accepté que je récupère un fichier planning de l'année dernière. Mais c'est exactement la meme présentation que mes plannings d'aujourd'hui.

https://www.cjoint.com/?0bhmA47xf5o

quelques petites choses:
- la colonne "M" ne sert plus.
- certaines colonnes sont masquées, mais il faut qu'elle apparaissent dans la liste retards qaund même, masquées également (pour que je puisse avoir accès au données si besoin).

pour répondre a "Le pingou", déjà merci beaucoup pour ce travail ! Je ne peux pas vraiment l'utiliser pour l'instant, je suis en week-end et j'ai windows 7 sur mon pc, donc une version d'excel ou je ne capte rien et ou j'ai acces a rien, donc je verrais ca lundi. Mais en tout cas, merci beaucoup pour le temps que tu y a consacré.
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
7 janv. 2011 à 14:33
Bonjour,
Merci pour les informations.
Ma proposition est en version Excel 97-2003 (la même que votre fichier joint) et ne pose aucun problème.
Le Windows 7 est le système d'exploitation donc aucune influence.
Si vous n'avez rien c'est qu'il y a un autre problème.
J'attends vos prochaines informations...
--
Salutations.
Le Pingou
0
ce que je voulais dire, c'est que j'ai pas la bonne version d'excel....je ne me sers que de celle a mon boulot (97), et sur mon pc maison, excel n'est pas du tout pareil, et je ne peux rien faire (même pas modifier la largeur d'une colonne.....). je peux juste zoomer ou dézoomer: super pratique. Alors les macros, n'en parlons pas;;;
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
7 janv. 2011 à 18:38
Bonjour,
Ceci ne veut rien dire : c'est que j'ai pas la bonne version d'excel
Ce qui est important est de savoir quelle est la version que vous avez sur votre PC .... !
0
j'ai excel 2007, avec version d'essai dépassée....donc je peux plus rien faire dessus. les macros ne s'exécutent pas
0
Bonjour,

Message pour Le Pingou:

J'ai attentivement regardé ton fichier, qui est vraiment bien. Est-ce que tu pourrais apporter quelques petites modifs ?

voici ton fichier, avec quelques petites modifs perso:
http://cjoint.com/?1blmU7yLrHd

alors, je t'ai mis en semaine 01 et 02 mes vrais plannings, et j'ai gardé en semaine 03 ton exemple (la macro marche sur cette dernière semaine).
Je voudrais donc que ta macro s'applique a mon modèle de planning. Attention, il y a des colonnes masquées sur mes plannings, elles doivent y figurer dans la liste retards, masquées également (je dois pouvoir consulter les infos si besoin).

La mention de la semaine (colonne 1 de la liste retard) n'est pas nécessaire.
En effet, dans mes plannings, j'ai déjà une colonne (B), qui fait mention de la semaine en cours (ex: 22JE03 = camion 22, JEudi, sem 03).

Et enfin, ta macro fonctionne avec la condition que la recherche se fasse avec "en cours". Est-il possible de faire une condition qui affiche toutes les lignes, sauf celles ou c'est marqué "ok" a la fin. C-a-d j'ai des lignes "ok", "manque", "en appro", "en cours" etc... donc dans ma liste de retard, on doit voir apparaitre les choses qui ne sont pas faites (qui ne sont pas "ok"), et pas seulement les "en cours".

Voila, c'est tout. (j'espère que c'est pas trop!)
Redis moi si je ne suis pas très clair...
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
Modifié par Le Pingou le 11/01/2011 à 14:34
Bonjour,
Je vais regarder dans la soirée.
Salutations.
Le Pingou
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
11 janv. 2011 à 17:27
Bonjour,
Il y a des points de votre information qui ne correspondent pas avec le classeur.
1.- alors, je t'ai mis en semaine 01 et 02 mes vrais plannings, et j'ai gardé en semaine 03 ton exemple (la macro marche sur cette dernière semaine).
Rep : vos valeurs sont en semaine 03 et 02 et mes valeurs en semaine 01. La procédure a été modifier .... !

2.-La mention de la semaine (colonne 1 de la liste retard) n'est pas nécessaire.
Rep.- OK c'est en ordre. Dans se cas vous indiquez sur quoi il faut trier pour avoir les valeurs dans l'ordre décroissant des semaines (le plus ancien en haut du tableau) ?
3.- En effet, dans mes plannings, j'ai déjà une colonne (B), qui fait mention de la semaine en cours (ex: 22JE03 = camion 22, JEudi, sem 03).
Rep.-Oui mais cela n'est pas utilisable car on trouve par exemple : 32LU04 / 33MA04 dans la colonne B de la feuille [semaine 03] et aussi 62LU03 / 41LU03 dans la colonne B de la feuille [semaine 02]

3.-Et enfin, ta macro fonctionne avec la condition que la recherche se fasse avec "en cours". Est-il possible de faire une condition qui affiche toutes les lignes, sauf celles ou c'est marqué "ok" a la fin. C-a-d j'ai des lignes "ok", "manque", "en appro", "en cours" etc... donc dans ma liste de retard, on doit voir apparaitre les choses qui ne sont pas faites (qui ne sont pas "ok"), et pas seulement les "en cours".
Rep.- Sans problème, il suffit de modifier la référence de choix.
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
11 janv. 2011 à 21:36
Bonjour,
Voici la version selon vos explications : https://www.cjoint.com/?3blvJGC7RgO
0
Salut,

j'ai essayé ton fichier ce matin, et direct j'ai eu un message d'erreur:

"Erreur de compilation. Variable non définie"

apparemment, l'erreur se situe là:

If sh.name <> "LISTE RETARDS" Then
a= sh.cells(columns(1) ...etc...


C'est le "a=" qui était en surbrillance en mode débogage...
0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
19 janv. 2011 à 16:56
Bonjour,
Merci de supprimer la ligne correspondante, soit :
a = sh.Cells(Columns(1).Cells.Count, 1).End(xlUp).Row
--
Salutations.
Le Pingou
0
Je te remercie du temps passé sur mon affaire, Le pingou.
Ça marche très bien. J'ai couplé ta macro à une autre qui fait un tri automatique sur la liste de retards, c'est nickel.

Merci encore.
0