Reformater tableau global en sous-tableaux

Bonjour forum,

Dans un feuillet, j'ai différents types d'information sur des lacs en fonction de la date. J'aimerais regrouper l'info de chaque lac dans différents feuillets en fonction du type d'information traitée. Concrètement, je regroupe l'info sur l'aluminium dans un feuillet et celle sur le fer dans un second feuillet pour en faciliter l'analyse par la suite. Ceci demande une série de copier/coller transposé plutôt fastidieux si on considère que le feuillet: "Global" comporte près de 400 lacs et plus de 165 000 lignes.

Y-aurait-il moyen d'automatiser cette tâche par une macro. Je dois dire qu'il existe une difficulté supplémentaire à la tâche:

il est possible que dans le listing global, certaines dates (lignes d'info) soient manquantes pour certains lacs.

J'ai joint un fichier simplifié pour faciliter la tâche.

Merci de votre aide

Emil

Bonjour

Un essai

Bonsoir Banzai,

je te remercie pour ton aide.

J'ai essayé la macro mais un message d'erreur d'exécution 1004 (pas de cellules correspondantes)

est apparu à la ligne:

For Each Cel In Ws(2).Range("A2:A" & NbLig).SpecialCells(xlCellTypeVisible)

En regardant le feuillet: "Tous", j'ai remaqué que le filtre était activé mais qu'aucune valeur de date n'avait été sélectionnée

ce qui semble expliquer qu'il n'y ait aucune cellule correspondante.

J'avoue avoir du mal à suivre la logique des derniers paragraphes quoique bien documentés.

J'attend de tes nouvelles

Emil

Bonjour

Tu as essayé la macro avec le fichier fourni ou avec un autre ?

Car j'ai testé le fichier et pas de problème

Bonsoir,

j'ai roulé la macro sur le fichier que tu as proposé, si ça peut aider je joins une version 2 suite à l'exécution avortée de la macro.

Tu remarqueras que les en-têtes des 2 feuillets ont été mis en place mais que le contenu est resté vide. Ce pourrait-il que ce soit à cause que la dte que j'utilise dans ma version est sous le format "Canada français" au lieu de: France français. Je me souviens avoir déjà eu un problème de cette nature.

À te relire

Emil

Bonjour

C'est le même fichier

Et comme de bien entendu pas de problème

Cela vient du format de date

Moi je filtre sur 01/12/2010 et toi tu filtres sur 12/1/2010

Quelle date as-tu ?

Il faut faire des tests et trouver la bonne syntaxe

Testes (ici cela fonctionne)

Ws(2).Range("A1:O" & NbLig).AutoFilter field:=7, Criteria1:=CDate(Tablo(I))

ou

Ws(2).Range("A1:O" & NbLig).AutoFilter field:=7, Criteria1:=Tablo(I)

Pour le moment je n'ai pas d'autres proposition

Si rien ne fonctionne il faudrait que tu enregistres une macro, lorsque tu filtres sur une date (même pas sur que cela aidera)

Il faudrait que tu fasses du pas à pas, vérifier les résultats du filtre après chaque filtre sur la date

mais avec un fichier qui n'a pas de problème cela ne sert à rien

Pour filtrer

Bonjour Banzai64,

j'ai essayé la commande: "Ws(2).Range("A1:O" & NbLig).AutoFilter field:=7, Criteria1:=Tablo(I)"

et ça ne fonctionne pas.

Tu écris:

Cela vient du format de date

Moi je filtre sur 01/12/2010 et toi tu filtres sur 12/1/2010

Quelle date as-tu ?

C'est peut-être ici le problème:

En fait de mon côté, la date (1 décembre 2010) m'aparrait comme:

2010-12-01

Emil

Bonjour

Suis désolé mais je ne sais comment faire

As tu essayé avec Cdate ?

Moi pour le moment je n'ai pas d'autre solution

Bonjour,

d'après ce que j'ai constaté, le problème ne semble pas lié avec la macro mais plutôt avec l'ordinateur utilisé. Car lorsque je teste la macro proposé sur d'autres ordinateurs, elle fonctionne bien sous excel 2003 ou 2007. Quelqu'un a à mon travail a avancé l'hypothèse que le problème venait de la configuration interne du portable sur lequel j'avais initialement testé la macro.

Pour ma part, je suis maintenent pleinement satisfait

Merci

Emil

Rechercher des sujets similaires à "reformater tableau global tableaux"