Mise à jour de marco par une macro

2

21ch181

Guest
Bonjour à tous

Tout d'abord, meilleurs voeux à tous.

Je cherche à mettre à jour une macro existante dans un classeur par l'exécution d'une autre macro.

Sauriez vous m'aider SVP ?

Cordialement.
 
S

scarlett

Guest
J'ai eu le même problème, et j'ai trouvé la solution sur un site internet dont je ne me souviens plus le nom. Tu peux coller la macro ci dessous dans ton VBA et l'adapter à ton problème.

Le principe est le suivant ta macro va aller ouvrir la macro présente dans l'autre fichier (que tu aura ouvert) et la modifier ligne par ligne (c'est un peu laborieux mais ça marche)

Dans mon exemple (aide toi des commentaires que j'ai inséré dans la macro)je modifie la ligne 169 de la macro appelée 'Recopie' présente dans le module1. Il faut retaper la ligne 169 en entier même si on ne veut en changer qu'un bout. Et ça pour chaque ligne que tu dois modifier...

Voilà j'espère que ça t'aidera.
Bon courage

Scarlett

-----------------------------------------------


Sub testModif()
Dim Wbk As Workbook, NomProc$, NomModule$, LiModif&, TxtModif$
Dim Nomfichier As String
Dim formule As String

Application.ScreenUpdating = False


Sheets('Patch-RMA05').Select
Nomfichier = Range('F5').Value
Windows(Nomfichier & '.xls').Activate

'Macro validation : EBIFCT
Set Wbk = ActiveWorkbook 'Fichier à modifier
NomProc = 'Recopie' 'le nom de la procedure
NomModule = 'Module1' 'le nom du module dans lequel est la macro
LiModif = 169 'la ligne de la macro qu'il faudra modifier
TxtModif = 'EBI = Range(' & Chr(34) & 'S51' & Chr(34) & ').Value' 'le texte ENTIER de la ligne à modifier
ModifMacro Wbk, NomProc, NomModule, LiModif, TxtModif
End sub

Sub ModifMacro(Classeur As Workbook, NomMacro$, Module$, Ligne&, Modif$)
Dim LiDeb&

With Classeur.VBProject.VBComponents(Module).CodeModule
LiDeb = .ProcBodyLine(NomMacro, 0)
.DeleteLines LiDeb + Ligne, 1
.InsertLines LiDeb + Ligne, Modif
End With

End Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 977
dernier inscrit
Hermet