Automatisation d'onglets

Bonjour à tous .

j’espère que vous allez bien en ces temps compliqués ..

De mon côté, je viens chercher un peu d'aide .

je vous explique :

tout les lundi, nous récupérons des fichiers d'entrées qui se placent dans un dossier INPUT afin de les compilé dans notre excel .

j'obtiens donc chaque semaine un onglet avec la date et les données de la semaine .

Suite à cela, je met à jours l'ensemble de mes onglets , j'aimerai savoir s'il est possible de les automatiser en prenant en compte le dernier upload de données ( ceci afin de gagner du temps ).

Éventuellement, je remarque le fichier grossit en poids chaque semaine y'a til une possible de l’alléger? il fait plus de 8 mo et y'a rien a supprimer dedans

impossible de le joindre en PJ et je n'ai pas les droits pour inserer un lien externe :(

En vous remerciant pour vos retours aide.

Amicalement.

bonjour,

Ce n'est pas un lien qu'il faut mais une copie du fichier lui-même.

J'ai bien peur que sans le fichier on ne vous soit pas d'une grande aide.

8 Mo ça se discute... Tout dépend comment il augmente et la taille des ajouts que vous faites : S'il n'y a que quelques pages et quelques milliers de lignes c'est assurément trop.

Dans un premier temps à défaut du fichier joignez un descriptif :

Nature du fichier (xls ou xlsx ou xlsm)

Nombre de feuilles

Contenu des feuilles et nombre de lignes (Données ? Graphiques ? Images ? Contrôles ?)

Nature des imports (contenu et nombre de lignes (Données seules ou + Graphiques ? Images ? Contrôles ?)

Et une copie intégrale de la macro d'importation.

A+

Hello galopin01 :)

j'ai beaucoup alléger

voici ce qu'il faut faire dans un dossier DEZIPER dans un dossier INPUT le contenu du Zip input PUis lancer la macro Master Fichier

vous obtiendrez donc un onglet avec la date du jour et j'aimerai donc qu'a partir de cette nouvelle onglet , les autre onglets puissent se mettre à jour aussi :)

4input.zip (297.64 Ko)

Bonjour, un petit up pour mon message

Bonjour,

Difficile de vous répondre dans ces conditions.

Pour ce que je vois, il n'y a rien qui justifie l'augmentation du poids : Il faut donc que j'imagine... Et ce n'est pas bien compliqué !

Vous êtes probablement obligé de supprimer quelques dizaines de milliers de lignes à chaque fois... Ce sont ces suppressions qui génèrent probablement la majeure partie de l'augmentation de poids. Sur les remèdes, je serais obligé de me livrer à des hypothèses. Dans l'impossibilité de tester je ne me prononcerai donc pas. D'autant que vous le dites vous même vous avez considérablement allégé...

Les indications qui suivent ne sont que des éléments de réflexion de ma part :

Si je devais me livrer à ce genre d'exercice. Je commencerai par éjecter la feuille générée de ce classeur vers un classeur externe.

Les données importées dans ce nouveau classeur doivent être traitées au maximum en externe TCD y compris.

Ce travail accompli dans le classeur "Programme" je ne récupérerai que les données "EN DUR" (valeurs) que je stockerai sous une forme adaptée (BD) aux différents rapports (TCD/graphiques) que je veux obtenir. Pas de liens, Pas de suppression dans le classeur programme : C'est un historique donc il n'y a pas lieu de réévaluer à chaque fois les données historisées. (si c'était éventuellement nécessaire on pourrait toujours refaire ce travail extérieurement et rapatrier les données modifiées, mais je suppose que ce doit être "peanuts" par rapport à l'extraction normale.

Cette solution BD est censée répondre à votre problème d'ajout permanent de liens...

Autres indications :

Je commencerai par forcer la déclaration de variable (Option Explicit...)

Mais surtout (particulièrement signalé...) Je crois comprendre que dans vos macros vous travaillez majoritairement sur des plages/range... au lieur de travailler sur des Arrays. C'est cette pratique qui génère des zombis de données supprimées, véritables ectoplasmes qui ne sont trahis que par l'augmentation de poids du fichier mais qui entraineront rapidement sa paralysie...

A titre provisoire vous pouvez commencer par remplacer autant que faire se peu tous les ClearContents par des Rows.Delete (Et pas que sur les lignes considérées mais jusqu'à la dernière !) Cependant cet expédient risque de faire long feu : La meilleure méthode consiste quand même à virtualiser vos données par la techniques des Arrays et à les importer "en dur".

Après... Mois je ne suis qu'un amateur par rapport aux gros bras qui manipulent des Power-Machin et Bi-Truc... Peut-être se manifesteront-ils ? Mais il me semble quand même que les fondamentaux, ça commence par ce que je t'ai indiqué !

A+

Rechercher des sujets similaires à "automatisation onglets"