VBA: Trier les feuilles de Classeur EXCEL par ordre alphabétique

Dans le code VBA qui suit, vous trouverez une fonctionnalité bien pratique: comment trier les Feuilles d'un Classeur Excel par ordre alphabétique.

VBA: trier les Feuilles d'un Classeur Excel

Vous pouvez choisir, selon vos besoins ou selon votre niveau de maîtrise de VBA, entre deux version de cette fonctionnalité:

  • La version "simple" qui n'utilise pas de paramètres et qui trie toutes les Feuilles dans le Classeur actif par ordre alphabétique ascendant (A -> Z).
  • La version plus complexe qui vous permet de choisir le Classeur à trier (si plusieurs Classeurs sont ouverts) et de choisir l'ordre du tri (ascendant A -> Z ou descendant Z -> A). Cette dernière possibilité est optionnelle (par défaut, le tri ascendant est utilisé).

Commençons donc par la version basique…

1. Le code VBA de la procédure de base "Tri des feuilles Excel":

Cette procédure est tout à fait générique et indépendante . Il vous suffit de la copier/coller telle quelle dans un Module de votre Projet VBA.

Attention: le code qui suit se compose de deux parties – la procédure TrierFeuilles et la fonction SupprimerDiacritique – et vous devez utiliser les deux pour que le code fonctionne.

Pour information: la fonction SupprimerDiacritique est utilisée pour palier au problème qui fait que dans la table ASCII, les caractères avec accent se situent seulement après l'alphabet de base. Donc par exemple la lettre "é" se retrouve seulement après la lettre "z". Grâce à la fonction la fonction SupprimerDiacritique, ce problème est résolu et la lettre "é" se retrouve entre "e" et "f" comme la veut la logique…

 

 

L'exemple de l'utilisation – fonction de base

Voici un exemple simple. Attention, vous aurez besoin d'avoir dans votre Module les trois parties du code VBA: la procédure TrierFeuilles elle-même, la fonction SupprimerDiacritique et le code qui suit.

Voilà qui est fait. simple, pratique et efficace…

2. Le code VBA de la procédure avancée "Tri des feuilles"

La version avancée de la procédure utilise deux paramètres:

  • WB as Workbook – pour désigner le Classeur à trier (voir l'exemple d'utilisation)
  • Optional OrdreDescendant As Boolean = False – paramètre optionnel de type Boolean (valeurs possibles = True ou False) qui détermine si le tri doit se faire dans l'ordre descendant. La valeur par défaut est False ce qui signifie que si vous ne modifiez pas ce paramètre, le Classeur sera trié dans l'ordre ascendant (A -> Z).

Il est aussi possible de trier seulement les feuilles sélectionnées: si une seule Feuille est sélectionnée, alors la fonction va trier toutes les feuilles dans le Classeur. Si plusieurs Feuilles sont sélectionnées, le code triera uniquement ces feuilles.

Et tout comme la version simplifiée plus haut, vous aurez également besoin de l'utiliser la fonction SupprimerDiacritique. Il vous suffit donc de copier tout le code qui suit (et qui contient les deux parties).

 

L'exemple de l'utilisation – procédure avancée (avec des paramètres)

Voici l'exemple où le classeur à trier est un argument de la procédure. Vous pouvez également voir les deux appels selon le type de triage (ascendant, descendant). Pour l'utilisation simple dans votre Projet, il suffit de mettre/enlever un des deux appels en commentaire…

 

J'espère que vous trouverez ce code utile et qu'il va bien vous servir. Il s'agit d'une fonctionnalité très pratique également si vous avez les Feuilles aux noms "numériques" tels que des dates ou des numéros de comptes bancaires…

Pour aller plus loin en VBA et en Excel

Vous trouverez sur Excel-Malin.com d'autres articles qui pourront vous servir dans votre travail avec VBA et avec Excel. En voici quelques-uns qui pourraient vous intéresser sur le sujet de la gestion des Feuilles d'un Classeur Excel.

 

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

3 commentaires sur “VBA: Trier les feuilles de Classeur EXCEL par ordre alphabétique”