
Site de partage de logiciels et de macros
Travaux de développements par Pierre-Alain Vidil
Macros Excel
Fonctions de gestion de dates :
- Calculer un numéro de série d'une date depuis le 1er mars 1920 jusqu'au 28 février 2100
- Retrouver la date à partir de son numéro de série
- Calculer le jour de la semaine d'une date
- Calculer la différence de temps entre deux dates et heures
- Récupérer le dernier jour du mois d'une date
Obtenir le numéro de semaine officiel :
Permet de calculer le numéro de la semaine d'une date selon la méthode du journal officiel français
Récupérer la "Zone en cours" :
La zone en cours est la plage rectangulaire de cellules qui, après sélection d'une des cellules de cette zone, comprend toutes les cellules non vides qui se côtoient dans cette zone.
Ceci est très pratique en programmation pour connaître, par exemple, les limites d'un tableau pour savoir où il commence et où il finit.
Pour obtenir un aperçu de cette propriété d'Excel, allez dans le menu "Rechercher et sélectionner" (du ruban Accueil) --> Sélectionner les cellules --> Zone en cours.
Convertir un entier en n° de colonne Excel et vice versa :
NTOColonneExcel permet de converitr un entier (de 1 à 256 en Excel 2003, de 1 à 16384 en Excel 2016) en n° de colonne Excel (de type "A1").
ColonneExcelToN permet de convertir un n° de colonne Excel de type "A1" en entier. A1 donne 1, B1 donne 2, ..., XFD donne 16384.
LigColToRange génère des Ranges de type Excel ex : LigColToRange(10, 7) génère $G$10.
Ces macros présente plusieurs algorythmes de tris et de recherche :
- Dichotomie recherche une donnée dans un tableau par la méthode dichotomie
- Quicksort est un tri par partition. Il est réputé pour être le plus rapide des tris.
- BullSort est le tri à bulle classique. C'est le plus lent des tris.
- Heapsort est un tri par insertion. Sa vitesse est assez efficace.
- Mergesort est un tri par fusion. Il est assez efficace et est bien adapté aux tris de données très importantes comme des gros fichiers disque. La version présentée ici simule la présence de ces fichiers disque par des tableaux.
- Shellsort est un tri en arbre. Son score n'est pas mauvais. Il s'agit du fameux tri que tous les programmeurs qui ont lu Kernigham & Ritchie ont appris.
Trier les feuilles d'un classeur :
Une petite macro pour trier les feuilles d'un classeur en ordre alphabétique. Le tri est à bulle: c'est simple et ne demande pas de performances particulières.
Fusionner plusieurs feuilles d'adresses d'email :
Ce programme se propose de fusionner plusieurs feuilles qui contiennent des adresses d'email en une seule. La procédure en profite pour éliminer les doublons.
La feuille résultant se nomme Fusion et indique, pour chaque adresse trouvée, le nom de la feuille (ou des feuilles) où on l'a trouvée.
Séparer les éléments d'une cellule :
La fonction Split de Visual Basic n'existe pas en tant que fonction utilisable en mode feuille de calcul.
La fonction Split() permet d'éclater une chaine constituée de plusieurs sous-chaines séparées par un même séparateur.
La fonction SplitCell, fournie ici, permet d'éclater une telle chaîne contenue dans une cellule et de répartir les sous-chaines dans un tableau de cellules vertical.