Pourquoi mon document Excel contient-il 960 000 lignes vides?

13

J'ai un document Excel, Office 2007, sur une machine Windows 7 (si cette partie est importante, je ne suis pas sûr, mais je la lance). Il s'agit d'une liste de tous les numéros de téléphone des employés. Si j'ai besoin de générer une nouvelle page, je peux cliquer sur la page 2 et le tableau sera automatiquement généré à nouveau.

Le problème est que quelqu'un a foiré car il est sur un lecteur réseau et montre maintenant que j'ai plus de 960 000 lignes de données, alors que je n'en ai vraiment pas! J'ai fait CTRL + END pour voir s'il y avait des données dans la dernière cellule, donc je les ai effacées, j'ai supprimé cette ligne et cette colonne, mais je ne l'ai toujours pas corrigé. Il semble presque se dupliquer après la suppression.

Comment puis-je résoudre ce problème au lieu de recréer l'intégralité du document?

C-dizzle
la source
1
Avez-vous essayé de restaurer une sauvegarde? En outre, vous devrez fournir plus d'informations sur ce que fait la macro ou VBA pour générer une nouvelle table. Pouvez-vous publier cette information?
CharlieRB
@CharlieRB En regardant davantage le document, j'ai réalisé qu'il ne générait pas de nouveau tableau. Ce n'était pas celui que j'avais créé à l'origine, c'était juste un cadre de bordure qui ressemblait à une table. J'ai essayé de restaurer une sauvegarde, mais apparemment, le problème s'est produit avant la dernière bonne sauvegarde de celle-ci. Si je passe à la toute dernière ligne qui est 1 048 576 ... lorsque j'essaie de supprimer cette ligne, à la place se trouvent les cellules bordées comme au début du document.
C-dizzle
@CharlieRB J'ai fini par revenir en arrière et recréer le document à partir de zéro, mais cela me laisse encore me demander ce qui continue de remplacer les cellules vides par des bordures que je ne mets pas là.
C-dizzle
S'il s'agit d'un fichier partagé, vous pouvez avoir quelqu'un qui pense que la façon de formater les cellules est de faire des colonnes entières à la fois, plutôt que juste ce qui est nécessaire. Ou est-ce fait si vous êtes le seul à accéder au fichier, maintenant?
datatoo

Réponses:

14

Microsoft a un excellent document de support appelé Comment réinitialiser la dernière cellule dans Excel .

De ce document:

La mise en forme excessive est la cause la plus courante de la dernière cellule définie en dehors de la plage de feuille de calcul en cours d'utilisation. Lorsque vous formatez des lignes et des colonnes entières, certains types de mise en forme peuvent entraîner la dernière cellule à être définie sur une cellule bien en dessous ou à droite de la plage réellement utilisée.

Sur la base des commentaires ci-dessous votre question, il semble certainement que le format de bordure appliqué à toutes les lignes soit le coupable.

J'ai utilisé le code du complément fourni par le lien ci-dessus pour réduire la taille des fichiers de plusieurs mégaoctets à quelques centaines de k.

Jon Crowell
la source
J'utilise excel2010 et cela ne fonctionne pas, donne simplement l'erreur "excel ne peut pas terminer cette tâche avec les ressources disponibles. Choisissez moins de données ou fermez d'autres applications"
adolf garlic
Le lien ci-dessus est mort. @adolfgarlic essayez la solution VBA
phuclv
@adolfgarlic Cela ne fonctionne pas sur la version 32 bits d'Excel, mais il fonctionne sur la version 64 bits qui n'impose pas les mêmes limitations de mémoire. Hélas, après avoir changé ma version de 32 à 64 bits, cette solution fonctionne - mais ne résout pas le problème.
t0mgs
@phuclv Tout à fait vivant, en fait.
t0mgs
0

Vérifiez également s'il existe des cellules avec des commentaires où la zone de commentaire a été glissée loin de la cellule. Vous pouvez avoir une cellule dans la deuxième ligne d'une feuille de calcul avec un commentaire dont la zone de commentaire est proche de la ligne 7000 et qui forcera Excel à traiter la ligne 7000 comme la dernière ligne de la feuille de calcul.

ivanatpr
la source
0

Comme le commentateur ci-dessus - j'ai eu le même problème avec plus d'un million de lignes supplémentaires dans mon doc Excel, causé par des commentaires se terminant très loin de la cellule. Cette page a un code VBA simple que vous pouvez utiliser pour nettoyer votre document, puis vous pouvez le supprimer et enregistrer le document sans le code et le problème sera résolu. https://www.extendoffice.com/documents/excel/2252-excel-reset-comment-positions.html

Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

Cliquez sur Insérer> Module et collez le code suivant dans la fenêtre Module.

Code VBA: réinitialiser toutes les positions de commentaire dans la feuille de calcul active

1 Sub ResetComments()
2 'Update 20141110
3 Dim pComment As Comment
4 For Each pComment In Application.ActiveSheet.Comments
5   pComment.Shape.Top = pComment.Parent.Top + 5
6   pComment.Shape.Left = pComment.Parent.Offset(0, 1).Left + 5
7 Next
8 End Sub

Appuyez ensuite sur la touche F5 pour exécuter ce code et toutes les positions de commentaires dans la feuille de calcul active ont été réinitialisées en même temps.

Natalie
la source