[Calc] Création de multiples ODS à partir de filtres
Publié : 29 avr. 2018 17:26
Bonjour
Extreme néophyte en macro libre office, je voudrais automatiser un process qui me prend pas mal de temps et j’aurais vraiment besoin de compétences….
Alors voilà, j’ai dans un fichier calc, qui peut faire plusieurs dizaines de lignes , des données que je voudrais regrouper dans des classeurs (ou à la limite feuilles) distinct(e)s en fonction d’un critère qui peut éventuellement changer en fonction des besoins : en d’autres termes, parfois le critère sera en colonne B, parfois en D, etc.
Ce que je voudrais donc :
1/ dans un premier temps, sélectionner via une msgbox la cellule (1ere ligne de colonne) contenant le critère en fonction duquel les classeurs seront créés : l’idée est que chaque classeur créé regroupe les données de la feuille qui répondent au même critère
Accessoirement,si c’est possible, mettre une option de contrôle permettant de s’assurer que le critère de création n’est pas farfelu (cellule vide, cellule de la 2eme ligne au lieu de la 1ere, etc...)
2/ créer les classeurs (par hypothèse dans le même emplacement que le fichier d’origine)
3/ si possible, les nommer selon la norme suivante : nom du fichier d’origine - item de la clé de tri retenue
Il me semble que cela pourrait passer par les sous étapes suivantes (en tout cas c’est ± le process de la macro que j’avais avant sous excel… : si ca peut servir, j’ai gardé le code):
a) pour chaque item de la clé de tri
. filtrer la feuille d’origine en fonction de l’item
. copier la sélection
. créer un classeur nommé (nom du fichier d’origine - item de la clé de tri retenue)
. nommer la 1er feuille de la même manière
. coller la sélection dans la feuille du classeur créé
. enregistrer le nouveau classeur ainsi créé
b) réinitialiser les filtres du classeur d’origine
b) passer au second item de la clé de tri et recommencer jusqu’au dernier item
Pour mémoire, j’ai tenté avec l’enregistreur de macros mais c’est lourd, long inélégant et…. peu satisfaisant.
Voilà, je sais que c’est compliqué ….mais si quelqu’un veut faire une BA pour tout ou partie du besoin, un grand merci d’avance !
A toutes fins utiles, je joins un exemple du classeur « de base » qui nécessite d’être exploité.
Extreme néophyte en macro libre office, je voudrais automatiser un process qui me prend pas mal de temps et j’aurais vraiment besoin de compétences….
Alors voilà, j’ai dans un fichier calc, qui peut faire plusieurs dizaines de lignes , des données que je voudrais regrouper dans des classeurs (ou à la limite feuilles) distinct(e)s en fonction d’un critère qui peut éventuellement changer en fonction des besoins : en d’autres termes, parfois le critère sera en colonne B, parfois en D, etc.
Ce que je voudrais donc :
1/ dans un premier temps, sélectionner via une msgbox la cellule (1ere ligne de colonne) contenant le critère en fonction duquel les classeurs seront créés : l’idée est que chaque classeur créé regroupe les données de la feuille qui répondent au même critère
Accessoirement,si c’est possible, mettre une option de contrôle permettant de s’assurer que le critère de création n’est pas farfelu (cellule vide, cellule de la 2eme ligne au lieu de la 1ere, etc...)
2/ créer les classeurs (par hypothèse dans le même emplacement que le fichier d’origine)
3/ si possible, les nommer selon la norme suivante : nom du fichier d’origine - item de la clé de tri retenue
Il me semble que cela pourrait passer par les sous étapes suivantes (en tout cas c’est ± le process de la macro que j’avais avant sous excel… : si ca peut servir, j’ai gardé le code):
a) pour chaque item de la clé de tri
. filtrer la feuille d’origine en fonction de l’item
. copier la sélection
. créer un classeur nommé (nom du fichier d’origine - item de la clé de tri retenue)
. nommer la 1er feuille de la même manière
. coller la sélection dans la feuille du classeur créé
. enregistrer le nouveau classeur ainsi créé
b) réinitialiser les filtres du classeur d’origine
b) passer au second item de la clé de tri et recommencer jusqu’au dernier item
Pour mémoire, j’ai tenté avec l’enregistreur de macros mais c’est lourd, long inélégant et…. peu satisfaisant.
Voilà, je sais que c’est compliqué ….mais si quelqu’un veut faire une BA pour tout ou partie du besoin, un grand merci d’avance !
A toutes fins utiles, je joins un exemple du classeur « de base » qui nécessite d’être exploité.