J'ai fait une erreur :
J'ai créé 458 fichiers fiches produits avec pour chacun, dans le VBA
Project, thisworkbook une macro Workbook_open, pointant sur un lien.
OR, ce lien est mort ! ces qui signifie qu'il faut que je modifie mes 458
fichiers.
Ces 458 fichiers sont ouverts sur environ un mois et je voudrais créer une
macro qui modifie le texte de la macro workbook_open.
Comment faire pour modifier le contenu meme d'une macro sans intervention
manuelle.
Pour info, la macro qui modifierai la macro du fichier produit serait dans
le projet d'un fichier excel qui est toujours ouvert.
MERCI
Peut-être une piste.
Je te conseille d'aller jeter un oeil sur le site de Frédéric SIGONNEAU,
http://perso.wanadoo.fr/frederic.sigonneau/
Attribute VB_Name = "ModifMacroParMacro"
'modifier le code d'une procédure à l'aide d'une autre
'macro à modifier. Pour tester, lancer la procédure testModif
Sub MacroAModifier()
Dim a%
For i = 1 To 100
a = a & i
Next
MsgBox a
End Sub
Sub testModif()
Dim Wbk As Workbook, NomProc$, NomModule$, LiModif&, TxtModif$
Set Wbk = ThisWorkbook
NomProc = "MacroAModifier"
NomModule = "Module1"
LiModif = 3
TxtModif = " a=a+1"
'modifie la ligne 3 de la macro "MacroAModifier"
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
'Sub MacroAModifier()
' For i = 1 To 100
' a = a & i
' Next
' MsgBox a
'End Sub
Cordialement.
"Christian" <jp...@sansspam.fr> a écrit dans le message de news:
BCB7E9EC.107A%jp...@sansspam.fr...
@+
>-----Message d'origine-----
>.
>
> De : "Modeste" <Gee-...@discussions.microsoft.com>
> Groupes : microsoft.public.fr.excel
> Date : Fri, 30 Apr 2004 04:01:36 -0700
> Objet : Re : Modification du texte d'une macro par une macro