XL pour MAC Refonte complete d'un fichier, besoin d'idées

nobodyuse

XLDnaute Occasionnel
Bonjour à toutes et tous

Après quelques temps de travail sur un fichier de suivi de commande d'articles pour des agents d'une entreprise reparties sur 3 sites différents
je me retrouve avec un fichier final fonctionnel, mais très lourd (26Mo pour les 5 années) ce qui rend mon fichier très lent

Tout d'abord je précise que je suis archi novice !
Je viens donc vers vous les pro du Excel afin de quérir quelques idées pour refaire mon entièrement mon fichier de manière a ce qu'il soit moins lourd et utilisable sur serveur d'entreprise par 3 personnes minimum (1 sur chaque site)

je vous expose donc le projet:

j'ai une base de donnée qui doit contenir les différents articles possible, pour lesquels il y a un prix unitaire, différentes tailles possible,
dans cette base de données il y a également une base de Nom/prénom, chef référent, leur site, et la somme qui leur ai attribué au 1er janvier 2020 (repris des années précédentes) il y a pour l’heure quelques 300 agents environs... Mais comme cela peut évoluer (départ en retraite, embauche, ...) il faut donc que ce fichier soit évolutif facilement
il me faut donc un système qui aille cherche les noms, en fonction du nom son chef, que 'l’on sépare les 3 sites si cela est possible...
il y a 3 commande par année civile (Janvier, Mai et Septembre)
il faut que l'on puisse rentrer leur éléments de commande avec des liste deroulantes (Articles, taille, quantité, Prix Unitaire) que ce soit calculé automatiquement et déduit de leur somme initiale
Évidemment chaque fois la somme est reporté sur la feuille de suivi de commande suivants (3 par année) une feuille de Bilan est ajouté pour la fin d'année et permet de voir le nombre d'articles commandé par agents et les totaux par sites (et total global) une feuille de suivi peux éventuellement être inséré ce qui permettrai d'avoir un archivage de ce qui a été commandé .... (si l'on pouvais même réussir a trier par articles et taille de manière a avoir une forme "d’état de la commande" ce serai top pour voir et suivre d'un coup d'oeil les quantités qu'il y a à commander et en quels tailles)
j'avais ajouté une fonction de Statut de remise a l'agent avec la date automatique (qui permet de suivre un peu savoir ou l'on en est)
Afin de réduire la taille du fichier sur chaque page de bilan j'ai inséré une macro qui permet de transformer le résultat des formules en données brutes et supprimer les feuilles de Janvier, Mai et Sept de l'année qui viens de s’écouler, afin de ne pouvoir garder que la feuille de bilan et reprendre la somme en fin d'année sur la nouvelles feuille de Janvier (Auquel on crédite chaque année la somme de 40€ cumulable d'une année sur l'autre sans jamais dépasser un montant de 120€)


je ne peux pas vous mettre le fichier que j'ai créer (Car trop gros même zippé)
je vous met cela dit des captures d'écrans une de la feuille de Janvier, une de la feuille bilan et une du type de feuille de suivi possible (qui pourrai remplacer la feuille de bilan (à voir)
je sais ce n'est pas top mais c'est vraiment pour donner une idée de ce que j'avais fait jusque la, mais comme cela ne vas pas forcement ....

Merci d'avoir pris le temps de lire jusqu'au bout en espérant avoir réussi a être assez clair
D'avance merci à tous

Feuille actuel de Janvier:
Capture d’écran 2021-03-26 à 17.55.11.png



Feuille actuel de bilan:
Capture d’écran 2021-03-26 à 17.55.36.png




Idée de feuille de suivi a voir:
Capture d’écran 2021-03-26 à 18.00.18.png


Autre tentative de mise en forme:
Capture d’écran 2021-03-26 à 18.15.07.png


D'avance Merci à tous
 
Dernière édition:
Solution
Re

Pour rester Kissien ;)
J'ai simplifié la précédente macro
VB:
Sub Archivage()
Application.ScreenUpdating = False
Dim arrINap As Range, arrIN, arrOUT(), i&, n&, k&, j%
arrINa = Array([D3], [D5], [D7], [D9], [D11], [D13])
Set p = Range("F3:I13"): arrIN = p: k = UBound(arrIN, 1)
For i = 1 To k
For j = 1 To 4
If Trim(arrIN(i, j)) <> vbNullString Then
If Trim(arrIN(i, j)) > 0 Then
n = n + 1
ReDim Preserve arrOUT(1 To 2, 1 To n)
arrOUT(1, n) = arrIN(i, j)
End If
End If
Next j
Next i
Feuil2.Cells(Rows.Count, 1).End(3)(2).Resize(, UBound(arrINa, 1) + 1) = arrINa
Feuil2.Cells(Rows.Count, 7).End(3)(2).Resize(, n) = arrOUT
End Sub
Bonjour Nobodyuse, le forum

La première des choses à faire, comme tu dis être archi novice, serait de comprendre pourquoi ton fichier est si gros (25 mégas c'est énorme) avant de te lancer dans un gros projet forcément compliqué à mettre en oeuvre pour quelqu'un sans expérience et qui ne peut fournir un support aux contributeurs du forum.
as tu des images dans ton fichier ? as tu des mises en forme conditionnelles sur énormément de données ? des mises en forme en grand nombre sur des lignes vides ? Quel est ton nombre de données gérées,
Essayes de copier toutes tes feuilles dans un nouveau classeur, de l'enregistrer pour voir sa taille
Ensuite, essayes de copier chaque feuille dans des classeurs séparés et enregistres les pour en voir la taille de chaque classeur ce qui te permettra d'isoler si une feuille pose problème et laquelle.
tu pourras peut être du coup faire un fichier exemple en allégeant la feuille concernée ou en la supprimant si elle n'est pas nécessaire pour débuter ton projet.

Bien cordialement, @+
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Nobodyuse, Yeahou,
Tout d'abord je précise que je suis archi novice !
Alors il est possible que vous soyez tomber dans les mêmes pièges que nous, à savoir des copier collés intempestifs, des MFC sur toute une plage beaucoup plus grande que nécessaire.
Il faut savoir qu'un fichier "propre" de 26 Mo, sans grande BDD, ce n'est généralement pas normal. Ce n'est pas un problème de données mais un problème de duplication de mise en forme ...
( voir par ex https://www.excel-downloads.com/threads/un-fichier-trop-gros.52469/ )
Peut être trois pistes :

1- Enregistrez en xlsb, quelquefois le résultat est surprenant. ( l'unique problème d'un xlsb est qu'il n'est pas exploitable sur une tablette )

2- Dupliquer votre fichier et sur chaque feuille vous sélectionnez tout et vous supprimez tous les encadrements, supprimer toutes les couleurs de fond, couleur police noire, et vous enregistrez et regardez la taille.

3- Celle là quelquefois est incroyablement efficace. Sur chaque feuille vous faites CTRL plus flèche vers le bas, vous arrivez à la dernière ligne. Vous sélectionnez de cette ligne jusqu'à votre dernière ligne utile et vous faites Supprimer. Idem avec les colonnes. ( dernière colonne par CTRL flèche droite )
Il arrive par mégarde de copier coller que des dizaines de milliers de cellules ( apparemment vides ) contiennent des mises en forme ou même formules intempestives.
Si vous suivez la taille du fichier après chaque manip vous trouverez surement où se situe le problème.

Tout cela semble fastidieux mais peut être moins que tout refondre.
 

nobodyuse

XLDnaute Occasionnel
Bonjour Yeahou et Sylvanu, Merci à vous deux !

Je me doute bien qu’il y a un soucis dans mon fichier
Non il n’y a pas d’image, mais comme cela est visible sur les captures d’écran il y a de la mise en forme, pour enjoliver le fichier ainsi que de la mise en forme conditionnel pour basculer les sommes négative en rouge, ainsi que sur la fonction du statut de remise!
Je pense effectivement que la mise en forme et tout cela y ai bien pour quelques chose.
la feuille de la base de donnée seule ne pèse pas grand chose
Une feuille d’un quadrimestre pèse environ 1mo pour environ 4000 lignes sur une trentaine de colonnes

en dehors de chercher à réduire la taille de mon fichier
Je recherche également des idées pour le reprendre, l’optimister et des solutions pour intégrer certaines fonctions que je ne maîtrise pas comme une feuille de suivi que je n’ai pas était capable de mettre en place, ou un archivage des données de commande reprise pour avoir une vue simplifié des articles à commander, leur quantité par taille....
Ou alléger certaines fonctions pour lesquel il a fallut que je me creuse la tête et modifie à la main les milliers de formules ...

donc voila le pourquoi de cette demande car je sais que parmis vous il y a de vrai «artiste» d’excel qui sauront m’aider et me proposer des idées viables

merci à tous 🙏
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Pour le premier point :
A l'arrache en PJ un petit utilitaire pour voir si le problème vient des mises en formes ou des copier coller intempestif.

1- Copier votre fichier sous un autre nom. Important car je vais détruire pas mal de choses.
2- Ouvrez la PJ
3- Exporter la feuille TEST dans votre fichier. ( par clic droit sur le nom de l'onglet puis Déplacer ou copier et Dans le Classeur choisissez votre copie de fichier. )
4 - Fermez la PJ, enregistrer votre fichier.
5- Dans la page Test de votre fichier, appuyez sur GO.... et patientez.
A la fin vous allez obtenir :
1- La liste des feuilles avec à chaque fois la taille du fichier après avoir supprimer toutes les lignes et colonnes censées être vides.
2- La liste des feuilles avec à chaque fois la taille du fichier après avoir supprimer toutes les encadrements, couleurs de fond, couleur de police.
Un truc dans le genre :
1616793830285.png

( vous remarquerez que pour le test je me suis amusé à dupliquer des couleurs de fond sur deux colonnes, on passe de 20Mo à 32ko )
Avec un peu de chances à l'analyse vous verrez sur quelle(s) feuille(s) il y a un problème.

Pour le second point, le sujet est aussi vaste que flou. Il vous faudra faire des fichiers tests sur chaque point que vous voulez optimiser sinon on ne s'en sortira jamais.

Donnez des nouvelles si vous décidez de faire le test.
 

Pièces jointes

  • Nobodyuse.xlsm
    31 KB · Affichages: 17

nobodyuse

XLDnaute Occasionnel
Re,
Pour le premier point :
A l'arrache en PJ un petit utilitaire pour voir si le problème vient des mises en formes ou des copier coller intempestif.

1- Copier votre fichier sous un autre nom. Important car je vais détruire pas mal de choses.
2- Ouvrez la PJ
3- Exporter la feuille TEST dans votre fichier. ( par clic droit sur le nom de l'onglet puis Déplacer ou copier et Dans le Classeur choisissez votre copie de fichier. )
4 - Fermez la PJ, enregistrer votre fichier.
5- Dans la page Test de votre fichier, appuyez sur GO.... et patientez.
A la fin vous allez obtenir :
1- La liste des feuilles avec à chaque fois la taille du fichier après avoir supprimer toutes les lignes et colonnes censées être vides.
2- La liste des feuilles avec à chaque fois la taille du fichier après avoir supprimer toutes les encadrements, couleurs de fond, couleur de police.
Un truc dans le genre :
Regarde la pièce jointe 1100153
( vous remarquerez que pour le test je me suis amusé à dupliquer des couleurs de fond sur deux colonnes, on passe de 20Mo à 32ko )
Avec un peu de chances à l'analyse vous verrez sur quelle(s) feuille(s) il y a un problème.

Pour le second point, le sujet est aussi vaste que flou. Il vous faudra faire des fichiers tests sur chaque point que vous voulez optimiser sinon on ne s'en sortira jamais.

Donnez des nouvelles si vous décidez de faire le test.
je suis dessus, mais ça mouline, ça mouline ... tous les ventilos du mac ce mettent en marche mais la barre de progression ne bouge pas :/
Obliger de "forcer a quitter"

je vais tester sur une version avec contenant moins de pages pour voir ce sera p'tet plus rapide 🤞
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
J'ai eu ça hier mais j'avais "un peu abusé" avec le fichier par des copy paste colonnes à foison.
Il faisait 50Mo et mon PC a fini par m'envoyer sur les roses.

Cela pourrait vouloir dire qu'effectivement vous avez beaucoup de choses à nettoyer. Le problème survient lorsqu'on sélectionne énormément de lignes ou colonnes "polluées" et qu'on veut les supprimer.
Donc en PJ une autre approche.
Même process que la PJ précédente.
Je me borne à regarder la taille et à supprimer feuille par feuille pour voir si une page est "anormale".
Avec un peu de chance une seule de vos feuilles pose problème.
 

Pièces jointes

  • Nobodyuse 2.xlsm
    18.6 KB · Affichages: 5

nobodyuse

XLDnaute Occasionnel
Bonjour,
J'ai eu ça hier mais j'avais "un peu abusé" avec le fichier par des copy paste colonnes à foison.
Il faisait 50Mo et mon PC a fini par m'envoyer sur les roses.

Cela pourrait vouloir dire qu'effectivement vous avez beaucoup de choses à nettoyer. Le problème survient lorsqu'on sélectionne énormément de lignes ou colonnes "polluées" et qu'on veut les supprimer.
Donc en PJ une autre approche.
Même process que la PJ précédente.
Je me borne à regarder la taille et à supprimer feuille par feuille pour voir si une page est "anormale".
Avec un peu de chance une seule de vos feuilles pose problème.

je teste cela ;) Merci

De mon coté en aval j'ai pris un fichier raccourci a une seule année composé de 5 feuilles (La base de donnée, Janv2021, Mai2021, Sept2021 et Bilan2021)
taille initiale 5,2 Mo, en enlevant toutes les MFC et les courleurs de fond le fichier ce reduit a 3,1Mo
 
Dernière édition:

nobodyuse

XLDnaute Occasionnel
Bonjour,
J'ai eu ça hier mais j'avais "un peu abusé" avec le fichier par des copy paste colonnes à foison.
Il faisait 50Mo et mon PC a fini par m'envoyer sur les roses.

Cela pourrait vouloir dire qu'effectivement vous avez beaucoup de choses à nettoyer. Le problème survient lorsqu'on sélectionne énormément de lignes ou colonnes "polluées" et qu'on veut les supprimer.
Donc en PJ une autre approche.
Même process que la PJ précédente.
Je me borne à regarder la taille et à supprimer feuille par feuille pour voir si une page est "anormale".
Avec un peu de chance une seule de vos feuilles pose problème.

:rolleyes:
alors je pige plus rien la :/
Capture d’écran 2021-03-27 à 12.38.55.png
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

Je prendrai les derniers mots du titre de la question
"besoin d'idées"
et au débotté par association, je répondrai en guise d'idée par cette suggestion:
Utilisez Excel Web et plus si affinités.
Idée sous tendue par la lecture de
des agents d'une entreprise reparties sur 3 sites différents
Qui dit entreprise, dit monde professionnel
Qui dit monde professionnel, dit
"Patron, sortez l'oseille et investissez dans des outils "bureautiques" qui faciliteront le job de vos salariés"
;)

Reste à savoir, si Excel Web fonctionne avec Excel Mac
(tout comme Sharepoint)
 

nobodyuse

XLDnaute Occasionnel
Bonjour le fil

Je prendrai les derniers mots du titre de la question
"besoin d'idées"
et au débotté par association, je répondrai en guise d'idée par cette suggestion:
Utilisez Excel Web et plus si affinités.
Idée sous tendue par la lecture de

Qui dit entreprise, dit monde professionnel
Qui dit monde professionnel, dit
"Patron, sortez l'oseille et investissez dans des outils "bureautiques" qui faciliteront le job de vos salariés"
;)

Reste à savoir, si Excel Web fonctionne avec Excel Mac
(tout comme Sharepoint)
Bonjour Staple

J'ai accès a ExcelWeb je pense puisque accès à Office365
Mais cela change quoi ?
mis a part créer son fichier en ligne ou y importer mon fichier sur le cloud pour le travailler en ligne
comme il semblerai que j'ai des soucis de conception sur ce fichier (Bien que parfaitement fonctionnel)

l'idée de base était effectivement la refonte complète de mon fichier afin de l’alléger, lui permettre d’être plus évolutif et d'essayer d'y ajouter une fonction qui permettrai au acheter de s'y retrouver correctement

Pour infos complémentaire je suis dans une situation professionnel un peu bateau (dont je vous epargne les details ;) ), et j’essaie de me rendre utile et montrer quelques compétences, du coup un supérieur m'a demander d'essayer de travailler sur ce type de fichier ce que j’essaie de faire sans avoir bcp de connaissance, mais j'ai du temps
 

Staple1600

XLDnaute Barbatruc
Re

Je visais le coté léger de la chose
(les données étant stockée en dehors du fichier principal)
C'est sur cette partie du lien que je m'étais arreté.
(en bas de page)
Sources de données externes prises en charge dans Excel Services et Excel Web App
Mais ce n'est qu'une suggestion.
(que je suivrai si j'étais confronté à ta problématique
fichier énorme + multi-utilisateurs)
 

Discussions similaires

Haut Bas