transfert d'une ligne d'instructions dans une macro
2 réponses
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 à +
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 à +
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" <jean.vorstermans@skynet.be> a écrit dans le message de
news:D2B3DE98-BEFB-4D02-8905-9EF5ED4F09E8@microsoft.com...
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 à +
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 à +
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
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 à +
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
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" <jean.vorstermans@skynet.be> a écrit dans le message de groupe de discussion :
D2B3DE98-BEFB-4D02-8905-9EF5ED4F09E8@microsoft.com...
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 à +
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
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 à +