Re : Fichier de 50 MO - calcul et enregistrement extrêmement lent
L'utilisation des tableaux permet de ne travailler que sur les plages réellement utiles. On peut également le faire en définissant les noms avec la fonction decaler mais les tableaux font cela bien plus facilement, et présentent des tas d'autres avantages : Ce lien n'existe plus
Si tes formules doivent être recalculées à chaque changement sur la page, une macro ne sera pas plus rapide qu'une formule, au contraire. En revanche si tu n'as besoin de mettre à jour tes tableaux qu'une fois de temps en temps (par exemple à chaque nouvelle importation de la base de données) alors oui ça peut être le cas.
Mais quand je lis sommeprod sur plus de 100000 lignes, je me dis que de toutes façons, macro ou pas ça ne PEUT pas être rapide, même avec une machine de course, et surtout si tes sommeprod ont plein de conditions.
Le véritable gain dans ce cas vient plus souvent du fait de rajouter des colonnes qui testent chacune des conditions du sommeprod séparément plutôt que de passer par du VBA.
autrement dit : avec une formule du type
=sommeprod((mois(colonneA)="mars")*(colonneB="truc")*(colonneC))
tu crées une colonne (masquée si tu veux) qui teste si la date de la colonne A est en mars, une autre pour tester si colonne B = truc et dans une troisième tu fais le produit des vrais faux obtenus dans ces deux colonnes avec la valeur de la colonne C. Et ce n'est qu'ensuite que tu fais le total de cette dernière colonne pour avoir l'équivalent du sommeprod. Le gain est considérable sur de très grandes bases de données car le calcul matriciel est extrêmement gourmand en ressources.
C'est sur que 50MO, c'est beaucoup pour excel. Ca dépend bien sur de ta machine (pour le coup, mieux vaut avec des bases de ce type travailler avec office en 64bits). Mais ça peut très bien passer si tu n'as que des calculs assez simples à faire. Avec des calculs matriciels c'est plus que normal que ça coince et tu risques fort un jour que ce classeur attrape la vérole... Je te conseille en tous cas d'avoir toujours 1 ou même plutot 2 versions de sauvegarde, dont une sans données histoire de pouvoir repartir à blanc en cas de pb de microcoupure de courant et fichier flingué.