Mise à jour des calculs en utilisant plusieurs fichiers

Accueil – Le CFO masqué Forums Excel Mise à jour des calculs en utilisant plusieurs fichiers

  • Ce sujet contient 2 réponses, 2 participants et a été mis à jour pour la dernière fois par yang, le il y a 6 années et 3 mois.
3 sujets de 1 à 3 (sur un total de 3)
  • Auteur
    Articles
  • #40237
    yang
    Participant

    Bonjour Mme Marchand,

    Je cherche à réduire la taille d’un fichier. J’ai donc divisé ce fichier en deux, soit le fichier 1 (700 ko) qui permet d’effectuer de la saisie et soit le fichier 2 (3,5 Mo) qui comporte d’importants calculs et qui sert à valider l’information saisie. Idéalement, le fichier 2 qui est relativement volumineux et qui comporte une grande lourdeur de calculs ne serait jamais ouvert. Les fichiers 1 et 2 sont liés via deux cellules uniquement.

    La problématique rencontrée est au niveau de la mise à jour. Suite à la saisie dans le fichier 1, je dois ouvrir le fichier 2 s’il n’est pas ouvert afin que l’information dans le fichier 1 se mette à jour. J’ai utilisé l’options de modification des liaisons pour mettre à jour les valeurs mais j’aimerais ne pas devoir utiliser cette option. Puis cette option ne semble pas fonctionner toujours. Également, j’ai tenté de programmer en VBA l’écriture des données dans le fichier 2. Toutefois, je dois ouvrir mon fichier 2 pour faire “Enter” dans une cellule de calcul afin que mon fichier 1 se mette à jour.

    Par ailleurs, le fichier 1 ne requiert pas de faire appel au fichier 2 à chaque utilisation. C’est simplement lorsqu’il y a une modification qui est apportée à ce dernier. D’où l’idée de vouloir utiliser deux fichiers. (Conserver les ressources système)

    Actuellement, la solution que j’ai trouvée est de créer un macro afin qu’à l’ouverture de mon fichier 1, le fichier 2 s’ouvre également. J’ai utilisé le même principe pour la fermeture. Éventuellement, je pourrais programmer l’ouverture du fichier 2 si et seulement si il y a une modification apportée au fichier.

    À présent, voici mon questionnement : Ai-je réellement un gain de performance à utiliser 2 fichiers plutôt qu’un seul dans les circonstances et si oui, quelle serait la solution pour éviter l’ouverture du fichier 2 lors d’une modification du fichier 1?

    Résumé : Fichier 1 (saisie)  Fichier 2 (calculs)  Fichier 1 (résultats)

    Merci.

    Bonne journée.

    #40238
    Sophie Marchand
    Participant

    Bonjour,

    J’ai de la difficulté à comprendre.

    Vous dites que le fichier 1 est un fichier de saisie.

    Mais vous dites aussi que “suite à la saisie dans le fichier 1, je dois ouvrir le fichier 2 s’il n’est pas ouvert afin que l’information dans le fichier 1 se mette à jour”…

    Vous entrez donc des infos dans le fichier 1, ceci met à jour des infos dans le fichier 2 et les résultats du fichier 2 réalimente le fichier 1? Est-ce exact?

    Si c’est le cas, ça me semble complètement à l’encontre des meilleures pratiques d’affaires.

    Déjà, lier 2 fichiers ensemble n’est pas une bonne pratique. Surtout qu’aujourd’hui, tout le monde peut bénéficier de Power Query.

    Cela dit, un fichier de 3,5 Mo n’est pas un fichier volumineux. S’il est difficile à ouvrir, c’est sans doute à cause de la façon dont il a été construit. Sans voir le fichier, c’est difficile de dire qu’est-ce qui cause le problème.

    Si le problème vient des nombreuses formules, il faudrait réfléchir à écrire un code en VBA qui permettrait d’effectuer les calculs et ensuite de copier les résultats en valeurs.

    Si le problème vient d’ailleurs, alors il faudrait investiguer.

    Je vous invite à jeter un œil à l’article suivant: https://www.lecfomasque.com/excel-mes-fichiers-prennent-du-temps-a-ouvrir-et-fermer-pourquoi/. Vous pourrez sans doute y trouver des pistes de solutions.

    Dans tous les cas, je ne vous conseille pas de séparer vos données dans 2 fichiers, à moins d’utiliser Power Query. Mais même avec Power Query, s’il y a une alimentation de 1 à 2 et ensuite de 2 à 1, ce ne serait pas la meilleure chose à faire.

    Au plaisir,

    Sophie

    #40239
    yang
    Participant

    Bonjour,

    Effectivement, les résultats du fichier 2 réalimente le fichier 1. Je suis conscient que ce n’est pas la meilleure chose d’utiliser plusieurs fichiers. J’ai consulté l’article https://www.lecfomasque.com/excel-mes-fichiers-prennent-du-temps-a-ouvrir-et-fermer-pourquoi/ et tout semble être conforme concernant mes fichiers. Je comprends également qu’un fichier de 3,5 Mo ne semble pas si volumineux et ce même en combinant les fichiers 1 et 2 (environ 4,5 Mo).

    Par ailleurs, le fichier de 3,5 Mo comporte des algorithmes relativement complexes qui permettent de calculer l’horaire de travail de 1000 employés sur un an selon une variété d’horaires. Uniquement ces algorithmes représentent 365 000 cellules. Puis, il y a certains calculs de validation pour vérifier la disponibilité de ces employés qui pour chacun d’eux peuvent être affectés sur 4 projets. Une partie de la validation est effectuée en VBA. Néanmoins, pour obtenir le résultat recherché, je ne crois pas que je puisse utiliser uniquement le VBA. Comme je désire que le fichier permettant de modifier les horaires soit aussi un tableau de bord servant à la gestion de projet, je cherche à alléger le recalcul du fichier (sans désactiver le calcul automatique). L’objectif recherché en utilisant deux fichiers était d’isoler le fichier 2 qui sert de traitement. Le fichier 1 servant de tableau de bord (700 ko actuellement) serait amené à évoluer et à devenir plus volumineux par l’ajout d’indicateurs de performance entre autres. Lorsque je consulterais le tableau de bord, je désire m’assurer d’un bon niveau de performance du fichier (vitesse de recalcul). Le tableau de bord ne ferait pas appel systématiquement au fichier de traitement à chacune des utilisations. Si ce n’était pas le cas, il n’y aurait possiblement aucun avantage à utiliser deux fichiers plutôt qu’un seul. Enfin, les données utilisées ne s’avèrent pas être à caractère financier par exemple. Plus particulièrement, mon besoin actuel n’est pas de manipuler des données qui s’étendent sur des milliers de lignes pour ensuite interroger cette base de données.

    Merci.

3 sujets de 1 à 3 (sur un total de 3)
  • Vous devez être connecté pour répondre à ce sujet.