Bonjour,
Je dispose d'un fichier excel composé comme suit:
Première feuille: Base de données de 33 000 lignes et 20 colonnes
Deuxième feuille: Trie de la base de données et diverses opérations complexes (33 000 lignes et 10 colonnes)
Taille du fichier 50 mo :/
Vous pensez donc bien qu'à chaque ouverture et enregistrement cela prend un temps fou. Comment pensez vous pouvoir améliorer cette situtation?
Ne serait il pas intéressant de mettre les 2 feuilles dans deux fichiers excel différent? (quitte à reformuler les formules de la deuxième feuille pour aller chercher les valeurs dans un autre fichier?)
Bonjour vbacrumble, merci de votre aide, mais malheureusement ça n'a pas l'air d'avoir effet: il n'y a pas de cases vides dans ma base de données, les 33 000 lignes et 20 colonnes sont remplies...
Oui justement, non ca ne change rien apparement
Pourtant mon ordinateur peut aisément gérer des programmes lourds, il semble donc que le problème vienne bien d'excel (trop de données?)
Je vais essayer de faire une macro toute simple pour supprimer les colonnes réellement facultatives pour alléger un peu...
Essayez la démarche suivante qui peut sembler insignifiante à première vue mais qui m'a apporté personnellement des résultats.
Faites un test sur une COPIE de votre classeur.
1) Sélectionnez l'entièreté des cellules d'une feuille
2) Appliquez à la police la plus petite taille possible
3) Répétez l'opération pour chaque feuille
4) Enregistrez le classeur et quittez
En principe, vous devriez obtenir un gain de taille conséquent.
tu peux, en complément de la méthode de job75, modifier les noms des onglets dans les formules de la feuille active avec ce code :
Code:
For Each curCell In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas)
curCell.Formula = Replace(curCell.Formula, [B][COLOR=Red]"ancienNom"[/COLOR][/B], [B][COLOR=Red]"nouveauNom"[/COLOR][/B])
Next curCell
cela te permet de pointer vers les nouvelles feuilles et de supprimer les anciennes.
J'ai suivi vos conseils et éffectivement on a réussi à réduire le fichier de... 4Ko
Bref, sur un fichier test le gain parait important, mais rapporté sur un fichier plus imposant, finalement ça ne change pas grand chose.
Mais j'ai trouvé une autre méthode: Optimiser les formules existantes en faisant en sorte qu'elle ne fasse référence qu'à un minimum de cellules possibles (quitte à créer de nouvelles colonnes ou lignes pour des sous résultats).
La taille du fichier ne change pas (au contraire elle augmente), mais la rapidité de réponse est en revanche accrue.
Voilà, je remercie encore une fois tout les XLDevelopeurs de m'avoir aidé.