faire une maj de macro d'un classeur à ' autre

Evelynetfrancois

XLDnaute Impliqué
Bonjour tout le monde …
Plutôt que d’apporter une modif sur les macros, de chaque classeur ( des fois loin)
Je souhaite qu’à partir d’un classeur ouvert ‘ modifier une macro (MAJ) de l’autre classeur ouvert pour en realiser sa mise a jour (modifier une macro )
Comme le ferait une mise à jour,
Est-ce très compliqué ou pas ?
Merci pour toutes vos sujétions
bonne journée a tous
E et F
 

MJ13

XLDnaute Barbatruc
Re : faire une maj de macro d'un classeur à ' autre

Re

Pour Pierrot :), voici le fichier Zippé avec Win7.

Sinon, Dranreb:), cela à l'air très intéressant, mais pour les non initiés, ce serait intéressant de faire une petite note d'explication sur comment ça marche ?
 

Pièces jointes

  • MiseANiveau.zip
    173.7 KB · Affichages: 26

Dranreb

XLDnaute Barbatruc
Re : faire une maj de macro d'un classeur à ' autre

Bonjour.
J'ai rajouté une feuille MEmploi dans mon MiseÀNiveau.xls mais...
Remarque: C'est la première fois que j'utilise internet depuis mon domicile et...
je n'arrive pas à faire fonctionner l'icone pour joindre un fichier.
Il me parle de fenêtre de publicité intempestive sans m'afficher la page pour envoyer un fichier, et lorsque je reclic sur l'icone il me met Erreur sur la page.
Quelqu'un a une idée ?
Remarque: en attendant le textes copié des cellules passe:
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.

À+
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : faire une maj de macro d'un classeur à ' autre

Re, Bonjour Dranreb

Merci beaucoup pour l'aide, qui devrait éclaircir certains points de ton appli :).

je n'arrive pas à faire fonctionner l'icone pour joindre un fichier.

Pour ce problème, je ne sais pas. Sois tu as une version de ton navigateur trop ancienne, sois tu n'es pas loggé :confused:
 

Discussions similaires

Statistiques des forums

Discussions
313 002
Messages
2 094 303
Membres
105 986
dernier inscrit
floribert