Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

transfert d'une ligne d'instructions dans une macro

2 réponses
Avatar
jean
bonjour,
je voudrais copier dans une macro une "ligne d'instruction VBA" écrite avec
des variables et stockée dans la cellule d'une feuille Excell. J'ai fais des
essais sans résultat !!
merci à toutes aides
--
merci ... bises à +

2 réponses

Avatar
Philippe.R
Bonsoir,

Un truc comme ceci fonctionne :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("a1"), Target) Is Nothing Then MsgBox [a1]
End Sub

mais je suis persuadé que ce n'est pas ça que tu veux faire !
Quelques précisions complémentaires seraient nécessaires sur le contexte et
les attentes.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"jean" a écrit dans le message de
news:
bonjour,
je voudrais copier dans une macro une "ligne d'instruction VBA" écrite
avec
des variables et stockée dans la cellule d'une feuille Excell. J'ai fais
des
essais sans résultat !!
merci à toutes aides
--
merci ... bises à +
Avatar
michdenis
Bonjour,

Voici 2 exemples qui font ce que tu demandes :
(Pour t'inspirer)

Pour remplacer la 5 ième ligne du module1 par le contenu
de la cellule A1 dans la feuil1.
D'abord dans le décompte de lignes, elles comptes toutes mais
celle qui sont "vides"
Le problème avec cette procédure, si tu modifie la disposition du
code, tu dois modifier le numéro de la ligne du code afin de t'assurer
que c'est la bonne ligne que tu modifies.

'--------------------------------------
Sub Remplacer_Ligne_De_Code()
Dim Comp As Object
Dim Texte_À_Ajouter As String

Texte_À_Ajouter = Worksheets("Feuil1").Range("A1").Value

With ActiveWorkbook.VBProject.VBComponents("module1").codemodule
texte = .Lines(5, 1)
.DeleteLines 5, 1
.InsertLines 5, Texte_À_Ajouter
End With
End Sub
'--------------------------------------

Une autre façon de faire, c'est de boucler sur toutes les lignes de code
d'un module et de remplacer la ligne de code qui trouve correspondance.

Exemple :
'-------------------------------------
Sub RemplacerUneLigneDeCodeParUnAutre()

Dim Recherche As String, Remplace As String, Comp As Object
Dim A As Integer, B As Integer, Nb As Integer, NbLigne As Integer

'Remplace le titre d'une procédure par un autre.
Recherche = "Set Rg = Worksheets(""Feuil1"").Range(""B200"")"
Remplace = "Set Rg = Worksheets(""Feuil1"").Range(""B2"")"

Set Comp = ActiveWorkbook.VBProject.VBComponents("module1")
NbLigne = Comp.codemodule.CountOfLines
For B = 1 To NbLigne
If Comp.codemodule.Lines(B, 1) = Recherche Then
Comp.codemodule.DeleteLines B
Comp.codemodule.InsertLines B, Remplace
End If
Next
Set Comp = Nothing

End Sub
'-------------------------------------





"jean" a écrit dans le message de groupe de discussion :

bonjour,
je voudrais copier dans une macro une "ligne d'instruction VBA" écrite avec
des variables et stockée dans la cellule d'une feuille Excell. J'ai fais des
essais sans résultat !!
merci à toutes aides
--
merci ... bises à +