Pourquoi y a-t-il encore une limite de lignes dans Microsoft Excel ?

Jusqu’à Office 2007, Excel avait un maximum de 65 000 lignes. Office 2007 a augmenté cela à un maximum d’1 million de lignes, ce qui est plus agréable bien sûr ; mais je suis curieux – pourquoi y a-t-il une limite du tout ? Évidemment, les performances ralentiront de manière exponentielle à mesure que vous augmentez la taille de la feuille de calcul ; mais il ne devrait pas être très difficile de faire optimiser cela par Excel en commençant avec une petite feuille et en la “redimensionnant” dynamiquement seulement si nécessaire.
Étant donné tout le travail que cela a dû représenter d’augmenter la limite de 65K à 1 million, pourquoi n’ont-ils pas été jusqu’au bout pour que ce ne soit limité que par la quantité de mémoire et d’espace disque disponibles ?

Probablement en raison des optimisations. Excel 2007 peut avoir un maximum de 16 384 colonnes et 1 048 576 lignes. Des nombres étranges ?

14 bits = 16 384, 20 bits = 1 048 576

14 + 20 = 34 bits = plus qu’un seul registre 32 bits ne peut contenir.

Mais ils ont aussi besoin de stocker le format de la cellule (texte, nombre, etc.) et la mise en forme (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 ont 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 pour vos données, et chaque donnée est étiquetée avec la cellule dans laquelle elle est censée se trouver.

Mise à jour 2016 :

J’ai trouvé un lien vers les spécifications de Microsoft pour Excel 2013 et 2016

  • Classeurs ouverts : limité par la mémoire disponible et les ressources système

  • Taille de la feuille de calcul : 1 048 576 lignes (20 bits) par 16 384 colonnes (14 bits)

  • Largeur de colonne : 255 caractères (8 bits)

  • Hauteur de ligne : 409 points

  • Sauts de page : 1 026 horizontaux et verticaux (nombre inattendu, probablement erroné, 10 bits = 1024)

  • Nombre total de caractères qu’une cellule peut contenir : 32 767 caractères (16 bits signé)

  • Caractères dans un en-tête ou pied de page : 255 (8 bits)

  • Feuilles dans un classeur : limité par la mémoire disponible (1 feuille par défaut)

  • Couleurs dans un classeur : 16 millions de couleurs (32 bits avec accès complet au spectre de couleurs 24 bits)

  • Vues nommées dans un classeur : limité par la mémoire disponible

  • Formats de cellule uniques / styles de cellule : 64 000 (16 bits = 65536)

  • Styles de remplissage : 256 (8 bits)

  • Épaisseur et styles de ligne : 256 (8 bits)

  • Types de police uniques : 1 024 (10 bits) polices globales disponibles ; 512 par classeur

  • Formats de nombre dans un classeur : entre 200 et 250, selon la version linguistique d’Excel installée

  • Noms dans un classeur : limité par la mémoire disponible

  • Fenêtres dans un classeur : limité par la mémoire disponible

  • Liens hypertexte dans une feuille de calcul : 66 530 liens hypertexte (nombre inattendu, probablement erroné. 16 bits = 65536)

  • Volets dans une fenêtre : 4

  • Feuilles liées : limité par la mémoire disponible

  • Scénarios : limité par la mémoire disponible ; un rapport de synthèse ne montre que les 251 premiers scénarios

  • Cellules modifiables dans un scénario : 32

  • Cellules ajustables dans le Solveur : 200

  • Fonctions personnalisées : limité par la mémoire disponible

  • Plage de zoom : 10 pour cent à 400 pour cent

  • Rapports : limité par la mémoire disponible

  • Références de tri : 64 dans un seul tri ; illimité avec des tris séquentiels

  • Niveaux d’annulation : 100

  • Champs dans un formulaire de données : 32

  • Paramètres du classeur : 255 paramètres par classeur

  • Éléments affichés dans les listes déroulantes de filtre : 10 000