Je voulais tester quelque chose et j'ai remplacé:
ça:
.Resize(, 1).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=rngList, Unique:=True
Par
1 2
|
rngData.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=rngList, Unique:=True |
et le code fonctionne. Cependant (forcément) j'ai à nouveaux des choses étranges:
Quand je lance le code il me génère plusieurs fichiers excels, un par trigramme mais j'ai le comportement étrange suivant:
1) j'ai une erreur "erreur d'execution 1004, erreur définie par l'application ou l'objet" à la ligne :
Sheets.Add before:=Sheets(1): Sheets(1).Name = rngList.Offset(r)
plus précisément sur la partie:
: Sheets(1).Name = rngList.Offset(r)
2) dans mon fichier source (nommé reporting) le trigramme "VMO" qui me sert à détecter la fin du tableau est enlevé, voilà ce que cela donne une fois le code exécute (voir capture d'acran sur le fichier joint).
Je ne comprends pas pourquoi il me supprime le trigramme VMO des deux endroits oui il est utilisé: en critere et fin de tableau de trigramme. D'après ce que je comprends, quand le code a bouclé jusqu'à la "derniere" entrée du tableau, il plante. donnant l'erreur.
ps: chose étrange, la 7ieme feuille excelle qui est filtrée sur le trigramme CDU n'a pas une mais deux feuilles dans le classeur, et c'est le second onglet qui est dédié au contenu exporté. Tous les autres trigrammes sont créés avec une seule feuille.
le fichier tuto de philippe:exemple.xlsx
Mon fichier: Reporting.xlsm
C'est quasiment la même macro à l'exception du resize.
Partager