J'apprécie les efforts supplémentaires que vous avez déployés pour documenter vos efforts. Je vous remercie.
Je réinitialise souvent des livres boursouflés en utilisant des méthodes qui ne fonctionnent pas pour vous. Il n'y a que deux différences que je peux identifier:
La première est que je n'ai jamais essayé de cliquer avec le bouton droit de la souris -> supprimer. Je suis un gars du clavier , donc je l' ai toujours utilisé Alt+ E+ D. Cela ne devrait avoir aucune importance, mais des choses étranges se sont produites.
La deuxième différence est que je n’ai jamais été bloqué comme vous, il est toujours réinitialisé après la sauvegarde. Big aide là-bas, non?
Quelques solutions possibles suivent:
Ballonnements horizontaux / verticaux
Aujourd'hui, j'ai eu un problème où mon VBA fusionnait des feuilles verticalement et ma feuille de calcul gonflée inexplicablement horizontalement. Au départ, j'étais confus et inquiet parce que je n'avais que des ballonnements verticaux et que je n'avais pas pensé à vérifier horizontalement, jusqu'à ce que ma tentative de réinitialisation échoue deux fois. S'il vous plaît, amusez-moi par souci d'exhaustivité et pour que cela ne vous arrive pas:
- Commencez par fermer toutes les autres sessions Excel afin que le classeur actuel soit le seul classeur ouvert.
- Allez à la de vos données sur le côté droit et sélectionnez la première colonne vide - la colonne entière.
- Ctrl+ Shift+ →.
- Alt+ E, alors D.
- Ctrl+ Shift+ End.
- Alt+ E, alors D.
- Ctrl+Home
- Faites défiler jusqu'au bas de vos données
- Sélectionnez la première ligne vide - la ligne entière.
- Ctrl+ Shift+ ↓.
- Alt+ E, alors D.
- Ctrl+ Shift+ End.
- Alt+ E, alors D.
- Ctrl+Home
- Ctrl+S
Oui, les deux lignes Ctrl+ Shift+ Endsont redondantes, mais je pense que vous pouvez survivre aux 15 frappes.
Vous ne devriez "pas" avoir besoin de fermer votre classeur après l'avoir sauvegardé, mais je ne le déconseillerai pas. Donner un coup de feu. Si cela ne fonctionne pas, essayez VBA très rapidement.
La manière VBA
N'ayez pas peur du grand méchant VBA, c'est un excellent outil et ce que nous faisons bien ne prend que quelques secondes.
- Assurez-vous que la feuille de calcul suspecte est ouverte et active.
- Alt+ F11pour ouvrir l'éditeur.
- Ctrl+ Gpour ouvrir la fenêtre immédiate.
- Tapez
?activesheet.usedrange.address
et appuyez sur Enter.
- Si la plage semble normale ( pas excessivement grande), le problème ne vient pas de votre plage.
- Si la plage est excessivement grande. puis tapez
activesheet.usedrange
et appuyez sur Enter. Notez que la première commande utilisait un ?
et ceci non. En effet, le point d'interrogation est utilisé lorsque nous voulons que VBA affiche du texte afin de pouvoir afficher une valeur ou un statut. Si nous n'utilisons pas de point d'interrogation, nous demandons à VBA d'effectuer une action.
- Une fois que vous avez appuyé sur Enter, placez votre curseur sur la ligne où vous avez utilisé
?
et appuyez sur Enter.
- si la plage a changé, vous avez terminé. Si c'est pareil, alors vous avez toujours un problème.
Feuilles de travail très cachées
La tâche finale consiste à rechercher des feuilles de calcul masquées. Non seulement caché , mais très caché (je ne l'invente pas).
- L'explorateur de projet devrait déjà être ouvert sur le côté gauche de l'écran. Appuyez sur Ctrl+ Rsi ce n'est pas le cas.
- La fenêtre présente des différences mineures entre les versions d'Excel, mais elles partagent toutes le même comportement d'arborescence de développement / réduction.
- Le nombre de projets affichés dépend du nombre de classeurs et de modules complémentaires Excel ouverts. Si vous fermez tous les autres classeurs et que plusieurs projets sont affichés, il reste encore quelque chose que nous pourrons traiter en détail plus tard.
- Pour l'instant, recherchez votre projet et développez les dossiers pour exposer les objets du classeur (les feuilles de calcul individuelles et l'
ThisWorkbook
objet). Vous les reconnaîtrez parce qu'ils auront les noms de vos feuilles de calcul entre parenthèses.
- Une fois trouvé, recherchez un nom qui ne figure pas dans votre classeur avec un onglet de feuille de calcul.
- si vous en trouvez un, sélectionnez-le dans la fenêtre de l'explorateur et accédez à la fenêtre des propriétés (sous l'explorateur ou F4).
- Faites défiler vers le bas pour trouver visible, il devrait être l'une des deux valeurs:
xlhidden
ou xlveryhidden
.
- Cliquez à l'intérieur de la valeur pour ouvrir un menu déroulant, puis sélectionnez
xlvisible
.
- Si ce n'est ni l'un ni l'autre, alors vous avez sélectionné la mauvaise feuille et éventuellement le mauvais projet, - vérifiez bien vos sélections.
- Si vous avez trouvé et non caché les feuilles, revenez à chacune d'entre elles et réinitialisez ces plages pour voir si votre livre est réduit (n'oubliez pas de masquer à nouveau les feuilles.
FYI: Une feuille très masquée n'est pas répertoriée dans le menu contextuel masquer / afficher dans Excel. C'est donc l'un des meilleurs moyens de protéger les configurations et les colonnes d'assistance.
- Nous en avons terminé avec VBA, fermez donc l'éditeur et revenez à Excel. Appuyez sur Ctrl+ F3pour ouvrir le gestionnaire de noms.
- Recherchez les plages nommées inattendues. En règle générale, je ne recommande pas de supprimer des plages nommées, sauf si vous connaissez très bien votre classeur, car de nombreuses solutions Excel / VBA productives ne fonctionneront pas correctement si vous supprimez une plage dont elles ont besoin. Toutefois, si vous trouvez une plage contenant des erreurs, pointant vers des classeurs inexistants, référençant des plages inutilisées ou comportant une autre valeur manifestement incorrecte, elles sont prêtes à être supprimées.
Quelques autres conseils utiles
C'est beaucoup plus long que prévu, alors je vais essayer de conclure ...
Vérifiez votre mise en forme conditionnelle - comme pour les plages nommées, vous recherchez des conditions totalement fausses ou reproduites.
Vérifiez vos requêtes et vos modèles de données.
Vérifiez que vous n'avez pas d'images / de graphiques / listobjects
dans un endroit difficile à trouver (le contrôle que nous avons effectué avec le gestionnaire de noms devrait permettre de détecter la plupart, mais pas la totalité d'entre eux).
Vérifiez que vous ne modifiez pas les paramètres de configuration personnalisés (j’ai remarqué que la galerie de styles d’un collègue sur l’onglet Accueil avait le même accent de 20% et qu’elle développait des centaines. À l’aide de l’éditeur VBA, j’ai tapé ?activeworkbook.styles.count
et renvoyé plus de 19 000; à titre de comparaison, le mien en avait 47).
Surveillez les mises en forme excessives - quelques centaines de milliers de lignes de nombres au format monétaire ne sont pas identiques à quelques centaines de milliers de lignes composées de bordures de cellules configurées comme un labyrinthe classé avec différentes couleurs et de nombreux formats, symboles et polices de nombres personnalisés.
Vérifiez les données elles-mêmes: quelques centaines de lignes sur 20 colonnes avec chaque cellule remplie à la limite seraient une cause embarrassante - mais possible - de gonflement
Et enfin, l'option nucléaire. Enregistrez chaque feuille séparément en tant que fichier texte CSV et importez-la dans un nouveau classeur ... cette solution fonctionnera à moins que vos données ne soient corrompues - mais reconstruire vos formats, vos connexions et bla bla bla pourrait s'avérer pénible.