Jusqu'à Office 2007, Excel a un maximum de 65 000 lignes. Office 2007 a augmenté cela jusqu'à un maximum d'un million de lignes, ce qui est bien sûr plus agréable; mais je suis curieux - pourquoi y a-t-il une limite? De toute évidence, les performances ralentiront de façon exponentielle à mesure que vous augmentez la taille de la feuille de calcul; mais il ne devrait pas être très difficile d’optimiser Excel pour cela en commençant par une petite feuille et en la "redimensionnant" dynamiquement uniquement selon les besoins. Étant donné le travail que cela a dû être pour augmenter la limite de 65K à 1 million, pourquoi ne sont-ils pas allés jusqu'au bout, de sorte qu'elle n'est limitée que par la quantité de mémoire et d'espace disque disponibles?
(mis à jour à cause d'une erreur ... Une suggestion à tout le monde: ne postez pas sur SO avant d'être complètement réveillé)
Probablement à cause des optimisations. Excel 2007 peut avoir un maximum de 16 384 colonnes et 1 048 576 lignes. Des chiffres étranges?
14 bits = 16 384, 20 bits = 1 048 576
14 + 20 = 34 bits = plus d'un registre 32 bits peut contenir.
Mais ils doivent également stocker le format de la cellule (texte, nombre, etc.) et le formatage (couleurs, bordures, etc.). En supposant qu'ils utilisent deux mots de 32 bits (64 bits), ils utilisent 34 bits pour le numéro de cellule et 30 bits pour d'autres choses.
Pourquoi est-ce important? En mémoire, ils n'ont pas besoin d'allouer toute la mémoire nécessaire pour la feuille de calcul entière, mais uniquement la mémoire nécessaire à vos données, et chaque donnée est étiquetée avec dans quelle cellule elle est censée se trouver.
Mise à jour 2016:
Trouvé un lien vers spécification de Microsoft pour Excel 2013 et 2016
En un mot - la vitesse. Un index pouvant contenir jusqu'à un million de lignes tient dans un mot 32 bits, il peut donc être utilisé efficacement sur des processeurs 32 bits. Les arguments de fonction qui tiennent dans un registre CPU sont extrêmement efficaces, tandis que ceux qui sont plus grands nécessitent d'accéder à la mémoire à chaque appel de fonction, une opération beaucoup plus lente. La mise à jour d'une feuille de calcul peut être une opération intensive impliquant de nombreuses références de cellule, la vitesse est donc importante. En outre, l'équipe Excel s'attend à ce que toute personne traitant plus d'un million de lignes utilise une base de données plutôt qu'une feuille de calcul.