OVH Cloud OVH Cloud

Modification du texte d'une macro par une macro

3 réponses
Avatar
Christian
Bonjour,

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

3 réponses

Avatar
E KERGRESSE
Salut Christian,


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" a écrit dans le message de news:
BCB7E9EC.107A%
Bonjour,

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



Avatar
Modeste
bonjour,
pour completer l'intervention d'ERic,
d'autres explication là :
http://www.cpearson.com/excel/vbe.htm

@+
-----Message d'origine-----
Bonjour,

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

.



Avatar
Christian
merci beaucoup à tous

De : "Modeste"
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

bonjour,
pour completer l'intervention d'ERic,
d'autres explication là :
http://www.cpearson.com/excel/vbe.htm

@+
-----Message d'origine-----
Bonjour,

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

.