Pam aimerait organiser les onglets de ses feuilles de calcul par ordre alphabétique. Ce n'est pas une commande dans Excel, mais à l'aide d'une courte macro, vous pouvez l'ajouter à votre barre d'outils d'accès rapide.
Regarder la vidéo
- Pam veut trier les onglets de la feuille de calcul par ordre alphabétique
- Aller à utiliser une macro dans le classeur de macros personnelles
- Alt + T + M + S et modifiez la sécurité des macros pour autoriser les macros
- Enregistrer une macro Hello World dans le classeur de macros personnelles
- Tapez le nouveau code dans le classeur de macros personnelles
- Attribuer ce code à un bouton QAT
Transcription vidéo
Apprendre Excel à partir d'un podcast, épisode 2084: Trier les onglets de la feuille de calcul par ordre alphabétique
Salut, bon retour sur le netcast, je suis Bill Jelen. Question d'aujourd'hui de Pam: existe-t-il un moyen de classer par ordre alphabétique les onglets de la feuille de calcul? Eh bien, il n'y a pas de moyen intégré de le faire, mais nous pourrions le faire avec une macro. Et maintenant, c'est une macro qui devrait vraiment être dans le classeur de macros personnelles, d'accord? Donc, si vous n'avez jamais fait de macros auparavant, nous allons faire Alt + T pour Tom et pour Mary, S pour Sam. Et assurez-vous de passer de Désactiver toutes les macros sans notification à Désactiver les macros avec notification.
Très bien, appuyez sur Alt + F8 et jetez un œil et voyez si vous avez des macros, assurez-vous de choisir Macros dans: Tous les classeurs ouverts. Si vous n'avez rien qui commence par PERSONAL.XLSB, vous devez suivre ces étapes facultatives. Si vous avez déjà quelque chose avec PERSONAL.XLSB, attendez une seconde, d'accord?
Donc, nous allons aller dans l'onglet Affichage et nous allons enregistrer une nouvelle macro. Il s'appellera HelloWorld. Pas d'espace, pas d'espace. Et nous allons stocker la macro dans le classeur de macros personnelles, cliquez sur OK. Et tapez simplement quelque part Hello World, comme ça, puis descendez ici à côté de Prêt et cliquez sur Arrêter. Très bien, maintenant cela vous obligera à avoir un classeur de macros personnelles. D'accord, si vous n'avez jamais utilisé de macros auparavant, vous ne l'avez peut-être pas.
À ce stade, nous allons appuyer sur Alt + F11 et si vous n'avez jamais utilisé de macros, vous obtiendrez cet écran gris ici. Nous allons aller dans View, Project Explorer et nous allons trouver le nouveau PERSONAL.XLSB. Si vous avez déjà un module là-bas, vous allez bien sûr, bien sûr, ouvrir les modules et double-cliquer sur le module 1. Maintenant, j'ai déjà quelques macros dans mon classeur de macros personnelles mais je vais venir ici pour la dernière ligne, mettez quelques espaces.
D'accord, alors vous devez taper ce code que j'ai collé. Et nous allons parler de cette macro pendant que je l'exécute. Donc, je vais l'exécuter une ligne à la fois en appuyant sur la touche F8. Et une chose que j'ai apprise ici, c'est qu'après avoir terminé le tri, c'était un peu déconcertant de finir sur une feuille différente, donc je me souviens de quelle feuille nous sommes, donc plus tard, je peux la sélectionner juste avant que la macro ne soit terminé.
Bon maintenant, nous y sommes. Revenons à Excel et vous verrez que la première feuille s'appelle Titre. Nous sommes actuellement sur une feuille appelée Question. Je veux ajouter une nouvelle feuille avant le titre, donc nous faisons Worksheets.Add et ensuite je veux renommer cela. Vient actuellement dans une feuille Sheet1 comme TempSortSheet. Attention, cela devrait être un nom que vous n'utiliseriez jamais. N'appelez pas ce compte de résultat, d'accord? Utilisez simplement quelque chose de très aléatoire, donc lorsque nous - vous rencontrerez une erreur si vous avez déjà une feuille appelée TempSortSheet. Et puis ce que j'ai trouvé, c'est que j'utilisais cette feuille de calcul.Count encore et encore et encore, donc je vais juste la mettre dans une variable aussi plus facile à dire WSC que Worksheets.Count plus tard. Nous avons donc 150 feuilles de travail et nous avons la liste de ces feuilles de travail.
D'accord, vous êtes donc pour la première fois dans la boucle où je passe de 1 à 250. La première fois dans la boucle vers notre toute nouvelle feuille que nous avons ajoutée, la feuille TempSortSheet, sur la ligne 1, colonne 1, nous allons pour mettre une valeur = à la première feuille de calcul. D'accord, et ce que cela devrait être, c'est bien, oui, TempSortSheet juste là. Mais je vais laisser ça tourner plusieurs fois. J'appuie sur F8 et vous verrez que nous obtenons tous les onglets de feuille dans l'ordre dans lequel ils apparaissent dans le classeur, et je suppose que je commence à obtenir ces onglets qui ont les numéros de compte, d'accord. Et je vais laisser ça tourner, je ne veux pas avoir à appuyer 300 fois sur F8. Donc, je vais cliquer ici et aller à Debug, Run To Cursor qui est Ctrl + F8 qui terminera cela. Et voyez, nous avons une liste de tous les 150 onglets de feuille.C'est génial.
Et maintenant, c'est ici que nous tirons parti de la puissance d'Excel. Il y a beaucoup de messages en ligne, y compris sur le babillard électronique, où ils essaient de trier. Ils écrivent leur propre tri pour déplacer les feuilles et nous allons profiter d'Excel ici car Excel a un tri et j'utilise le code d'Excel 2003. J'aime ce code, plus facile à retenir. Je vais commencer dans A1, redimensionner pour être 150 cellules où je trie cela. La clé sera A1. Eh bien, c'est la seule chose que cela pourrait être. L'ordre va être croissant, et assurez-vous de spécifier qu'il y a un en-tête, d'accord? Nous ne voulons pas que notre TempSortSheet trie les données. Très bien, donc juste là. BAM! Cela fait le tri et nous n'avons pas besoin d'écrire autour du code de tri à bulles. Et puis nous allons passer de la ligne 2 qui est A120,la feuille à déplacer est A120. Pourquoi le " " ? Ahh, au cas où vous auriez un nom de feuille, comme nous l'avons eu plus tôt cette semaine, comme une feuille nommée 123 qui confondrait Excel. Et ensuite, où allons-nous le déplacer? Nous allons passer non pas à la ligne 2 mais après la première feuille. Donc MoveAfter devient 1. Donc, nous allons prendre notre feuille appelée A120 et la déplacer après la première feuille comme ça, F8, et là, cela a fonctionné. Exécutez ces trois lignes une fois de plus. A124 vient au bon endroit.allez prendre notre feuille appelée A120 et la déplacer après la première feuille comme ça, F8, et là ça a marché. Exécutez ces trois lignes une fois de plus. A124 vient au bon endroit.allez prendre notre feuille appelée A120 et la déplacer après la première feuille comme ça, F8, et là ça a marché. Exécutez ces trois lignes une fois de plus. A124 vient au bon endroit.
À ce stade, maintenant que nous savons que cela fonctionne, nous pouvons faire Ctrl + F8 qui fait tout le déplacement - 150 mouvements viennent de se passer là-bas. Et maintenant, je vais supprimer la feuille d'origine qui est notre TempSortSheet supprimé. Mais avant de le supprimer, je ne veux pas qu'ils disent à celui qui exécute le code que nous sommes sur le point de supprimer la feuille. Donc, je le supprime simplement, puis je sélectionne la feuille d'origine et affiche le message indiquant que les classeurs ont été triés comme ça.
Bon, maintenant que nous avons la macro, nous savons que la macro fonctionne et qu'elle est dans le classeur de macros personnelles, deux choses que nous voulons faire: Alt + F11 revenez ici et assurez-vous que vous êtes dans la macro personnelle classeur, cliquez ici et cliquez sur Enregistrer. Si vous ne l'enregistrez pas maintenant, lors de la fermeture d'Excel, ce message s'affichera à propos de "Voulez-vous enregistrer les modifications dans PERSONAL.XLSB?" et vous oublierez complètement et ne sauvegarderez pas les modifications, non? Je m'assure donc toujours d'enregistrer les modifications, puis Alt + Tab où je personnalise la barre d'outils d'accès rapide, choisis parmi les macros, trouve celle qui s'appelle SortSheets, ajoute-la à la barre d'outils d'accès rapide. Je n'aime pas l'organigramme, alors nous chercherons quelque chose qui dit de A à Z ou vous savez, alors laissez 'Utilisez celui-ci et mettez-y un petit onglet de feuilles de tri comme ça, cliquez sur OK, cliquez sur OK.
Très bien, voici maintenant le test. Je vais insérer un nouveau classeur. Je vais faire quelques copies des feuilles et nous les mettrons dans une sorte de séquence bizarre, Z puis Y et puis M et ensuite B, comme ça. Cliquez sur Trier les feuilles et BAM! Ils sont de retour ici dans le bon ordre. À quel point cela est cool.
D'accord, donc l'épisode d'aujourd'hui, Pam veut trier les onglets de la feuille de calcul par ordre alphabétique. Hou la la! Nous avons utilisé la macro. Tout d'abord, modifiez la sécurité des macros et enregistrez la macro Hello World dans le classeur de macros personnelles, puis tapez le code dans le classeur de macros personnelles et affectez-le à un bouton de la barre d'outils d'accès rapide.
Je tiens à remercier Pam pour cette question. Je tiens à vous remercier d'être passé. Nous vous reverrons la prochaine fois pour un autre netcast de.
Télécharger un fichier
Téléchargez l'exemple de fichier ici: Podcast2084.xlsm