VBA Excel – Comment parcourir les feuilles d’un classeur excel

Introduction

Que ne voit-on pas dans les forums ce type de questions

  • Je cherche à savoir si dans une même macro, on peut travailler sur plusieurs feuille excel d’un même classeur.
  • Je dois faire un récapitulatif des commandes de l’année qui se trouvent dans le même classeur mais dans des feuilles séparées (une par mois)
  • Je dispose dans un même classeur, d’une feuille nommée [RECAP] dans laquelle je souhaite rapatrier les données se trouvant dans d’autres feuilles nommées Vente suivi de l’année (Exemple [Vente – 2017]
  • etc.

Finalement, il s’agit de parcourir les feuilles d’un même classeur et d’effectuer une tâche répétitive.

Que faut-il faire ?

Pour parcourir l’ensemble des feuilles d’un classeur, il faut utiliser une structure répétitive (une boucle) soit For Each … In … Next ou For … To … Next
Si vous ne connaissez par les boucles, je vous invite à lire ce tutoriel La gestion des boucles dans Excel

Exemples de procédures répétitives

Dans les deux exemples qui suivent, nous affichons simplement le nom des feuilles du classeur

Exemple 1 : (For Each … In … Next)

Exemple 2 : (For … To … Next)

Même résultat avec des méthodes différentes.

Exemple avec une procédure décisionnelle

Si l’on souhaite faire un traitement sur certaines feuilles seulement, on utilisera une structure décisionnelle comme If ou Select Case que l’on imbriquera dans la structure répétitive.
Pour en savoir plus sur les structures décisionnelles, je vous invite à lire le chapitre 11. Les structures décisionnelles du tutoriel d’Olivier Lebeau titré Initiation au VBA Office.

 

 

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. Apprenez comment les données de vos commentaires sont utilisées.