Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Modification de macro avec une macro

  • Initiateur de la discussion Initiateur de la discussion kimbl3
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

kimbl3

XLDnaute Nouveau
bonjour , voici mon problème :

j'ai sur une feuille une macro, je copie cette feuille, sur cette nouvelle feuille je dois modifier un mot par un autre.
En gros je dois créer une macro pour en modifier une autre.

Je n'ai pas trouvé de code qui fonctionne et je ne sais pas trop comment m'y prendre.

Merci de votre aide
 
Re : Modification de macro avec une macro

Bonjour les amis
Je suis votre post car il m’intéresse beaucoup, je cherche moi aussi à pouvoir modifier les macros par d’autre macros ,le dernier message de gilber RGI m’as beaucoup fais progresser dans ma recherche ,mais la question que je me pose et que vous aller certainement me donner la réponse ,dans le texte de la macro « Sub RemplacementMotDansProcedure() » et –il possible de remplacer le mot juin par une cellule de la feuille toto par exp. B10 et le mot juillet par D10 afin que les valeur dans les cellule soit recopier dans la procédure .
En B10 s’affiche le mot « juin » ancienne valeur, on ne modifie pas cette cellule
En D10 on note la nouvelle valeur avec la liste dans la cellule
Quand on click sur changer de moi la procédure change le mot juin en un autre mois choisi dans la liste en D10
Voir fichier joint si possibilité de réalisation
 

Pièces jointes

Re : Modification de macro avec une macro

Bonjour La Vouivre

"eSt –il possible de remplacer le mot juin par une cellule de la feuille toto "

oui pas de problème

à la place de mettre :

Ancien = "JUIN" on met Ancien = Sheets(1).Range("B10").Value

et Nouveau = Sheets(1).Range("D10").Value

etc...

Cdlt

RGI
 
Dernière édition:
Re : Modification de macro avec une macro

Merci beaucoup pour la réponse
Mais je n’arrive pas à changer le mois dans la macro.
Avec la première procédure ça marche impeccable
Je pense qu’il faudrait par une manip indiquer à la procédure que c’est la ligne n° 2 et le deuxième mot que l’on veut changer ou quelque chose comme ça.
Hier dans mes recherche j’ai découvert un fichier pour changer du code je le passe aussi pour info
 

Pièces jointes

Re : Modification de macro avec une macro

Bonjour

J'ouvre seulement mais c'est presque identique à ce que j'ai fait !!!!

Voilà un autre exemple avec un userform

au demarrage cliquer droite sur la feuille en bas de la liste déroulante il y a "entrer les données"

ce qui lance l'user

ensuite valider
 

Pièces jointes

Re : Modification de macro avec une macro

Bonjour gilbert_RGI

Beau travail cette fois Kimb3 va pouvoir changer tous les mois de l’année sans trop de modifs.
Dans le fichier la macro « RemplacementMotDansProcedure » plante sur la ligne « Sheets("toto").Select »
moi je recherche plus sur la macro du fichier modif macro car je peux modifier toute la ligne de la procédure.
Pour cela il faudrait que j’arrive à faire défiler dans la cellule une liste reprenant la procédure.

Comment je peux avoir les lignes de code de la procédure dans des cellules de la feuille,
une ligne = une cellule,
après il me suffirait de faire une liste avec données/ validation/ liste ; pour pouvoir changer les lignes
 
Re : Modification de macro avec une macro

J’ai trouver ce code sur un autre site cette après midi



‘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


Mais la macro plante à la ligne


LiDeb = .ProcBodyLine(NomMacro, 0)


Pouvez-vous m’aider
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…