Re…
Je l'ai dit, ma proposition est écrite dans un environnement Microsoft et fait implicitement appel à la bibliothèque Microsoft Scripting Runtime (scrrun.dll) pour en utiliser l'objet Scripting.Dictionary. Dans ce cadre, la procédure fonctionne (et ne comporte pas de "bug", quoi qu'on en dise…).
Si l'on s'en tient strictement à l'utilisation de VisualBasic for Applications (VBA), on ne peut utiliser l'objet Scripting.Dictionary car ce n'est pas une composante de VBA.
C'est pourquoi la procédure du message #8, écrite en pur VBA, fonctionne dans l'environnement MacIntosh. Mais elle est trop mal écrite pour être exploitable. Comme je l'ai dit, elle n'existe que comme brouillon d'étude.
On peut l'améliorer fortement, sans toutefois atteindre les performances de la proposition du message #15. (Au passage, cette version peut encore être accélérée (de 20 à 30 %) en déclarant explicitement les dictionnaires comme Scripting.Dictionary, à condition d'ajouter la bibliothèque Microsoft Scripting Runtime aux références du projet.)
Par conséquent, il convient de réécrire la procédure du message #8. Cela peut prendre un certain temps, c'est pourquoi je vous redemande confirmation qu'il n'y a pas de modification de principe avant de me lancer (ce que je ferai volontiers,car le sujet m'intéresse). Merci d'avance.
ROGER2327
#4882
Vendredi 20 Décervelage 138 (Saint Outlaw, aristocrate, SQ)
28 Nivôse An CCXIX
2011-W03-1T13:05:49Z