Mode d'emploi du classeur de mise à niveau de code VBA.
MiseÀNiveau.xls est un classeur de service dont l'emploi est particulièrement indiqué lorsqu'on dispose de deux modules initialement identiques qui ont ensuite évolué séparément.
Il permet alors de les rendre à nouveau identiques en retenant les meilleures améliorations sans risquer de se tromper, une fois bien assimilées ses règles d'utilisation.
Feuilles Source1 et Source2
Leur rôle est essentiellement de permettre la sélection du classeur et du module à comparer à l'autre source. Les listes se déroulent à la sélection des cellules "Class" et "Module" reconnaissables à leur police noire.
"La liste des classeurs comporte une dernière ligne ""Autre ?"" qui débouche sur l'ouverture d'un autre classeur via la boîte Ouvrir.
Ces feuille sont renommées selon les choix effectués, autant que possible de façon à les ré évoquer."
Feuille Fusion
Elle comporte essentiellement une large colonne de code et deux colonnes de numéros de lignes sources d'importance capitale pour la commande des opérations de mise à niveau, Ls1 et Ls2.
Elle présente un interclassement des lignes provenant des deux sources, où, bien que noyées parmi de grosses différences, des lignes identiques sont le plus souvent correctement reconnues correspondantes et confondues en une seule dans le flot.
"Les lignes provenant exclusivement de Source1 sont bleues, celles de Source2 oranges, les communes vertes légèrement plus foncées.
Ces mêmes couleurs sont reprises dans les colonnes Ls1 et Ls2 ainsi qu'en fond des feuilles Source1 et Source2."
Barre d'outils "Mise à niveau"
Attachée au classeur, elle peut être supprimée après usage. Si conservée, le bouton "Refaire la fusion" représentant un engrenage permet d'ouvrir ce classeur.
Elle se positionne contre le groupe de lignes sélectionné (sélectionnez la A1 pour régler cela s'il y a lieu) ou peut être ancrée verticalement à droite. Elle ne s'affiche pas si aucune opération n'est possible. Boutons :
"Conserver
(""="" dans carré vert)" Ce bouton n'est utilisable que si parmi les cellules sélectionnées, soit il n'y a que la colonne code et toutes les lignes proviennent d'une seule source, soit la dernière colonne est Ls1 ou Ls2 et au moins une ligne en provient.
Dans les deux cas, cette source est donc ainsi définie comme étant à conserver dans les deux modules. L'autre constitue bien évidemment la cible à corriger, ici pouvant contenir des lignes à supprimer.
Les lignes sources sont copiées dans le module cible, puis les anciennes lignes éventuellement couvertes également par la sélection initiale, et donc repoussées plus bas, sont supprimées.
La sélection peut donc sans inconvénient inclure des lignes déjà présentes dans les deux modules, mais celles qui n'existaient que dans le module cible seront supprimées. On sélectionne donc en Ls1 ou Ls2 les lignes à garder.
Supprimer Ce bouton est toujours utilisable, à moins que rien ne soit possible, auquel cas, c'est carrément la barre d'outils qui n'est plus affichée. Il supprime toutes lignes couvertes par la sélection dans les deux modules.
Couper Ce bouton est utilisable aux mêmes conditions que le bouton conserver. Il marque simplement la source sélectionnée comme étant à déplacer. Les N° de lignes se transforment en "XXX" et le bouton Insérer s'y substitue.
Insérer Ce dernier déplace les lignes coupées devant la ligne de premier N° mentionné à partir de la sélection (laquelle peut donc ne pas en comporter) ou à la fin aussi bien sûr, s'il n'y en a plus.
Conseil: ne pas tenter de transvaser dans l'autre module. C'est contraire à l'ambition d'homogénéiser les deux !
Refaire la fusion Utilisez ce bouton si vous doutez que des modifications apportées directement au code par l'éditeur VBA figurent dans la feuille Fusion. Cela ne devrait pas arriver si vous atteignez le code à l'aide du bouton suivant :
Voir dans VBA Il va de soit que cet outil ne saurait à lui seul résoudre tout les problèmes de mise à niveau. Ce bouton vous positionne dans l'éditeur VBA sur la première ligne source sélectionnée.
Recommandé pour une variable renommée dans un seul projet VBA, une indentation différente sur un grand nombre d'instructions présumées pareilles etc.
Divers dispositifs
La sélection est rectifiée dans la feuille Fusion. Ce dispositif, non indispensable, peut être désactivé ou réactivé en sélectionnant la A2.
Un bouton "Module suivant" tout en haut à droite passe au module suivant pour deux classeurs de versions différentes à mettre à niveau.
Une feuille Archive garde trace des mises à niveaux effectuées. Des sélections dedans peuvent ouvrir des classeurs pour les reprendre.
La barre de formule et le défilement horizontal ne sont normalement pas affichés dans ce classeur. Et surtout les calculs automatiques sont désactivés pour éviter des exécutions de fonctions personnalisées en cours de mises à niveaux.
Si la barre de formule venait à manquer dans un de vos autres classeurs activé, réactivez le MiseÀNiveau.xls puis à nouveau votre classeur.