Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
Bonjour à tous,
Pour ceux et celles qui aiment résoudre un énigme ...
Quel est le code qui permettrait de scanner tout le code d'un projet VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du menu
édition:
A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
Pour les plus futés, il est interdit d'utiliser la commande "Rechercher"
du menu
pour résoudre l'énigme : la commande est : -> c'est trop facile !!!
Application.VBE.CommandBars.FindControl(ID:1).Execute
Mais bien de trouver le code qui fasse ce que cette commande fait.
Il n'y a pas d'urgence, j'ai déjà le code (le mien) mais cette question
pourrait
bien stimuler quelques curieux qui désirent en savoir plus sur le modèle
objet
VBA d'excel !
Bonne journée,
Salutations.
Bonjour à tous,
Pour ceux et celles qui aiment résoudre un énigme ...
Quel est le code qui permettrait de scanner tout le code d'un projet VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du menu
édition:
A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
Pour les plus futés, il est interdit d'utiliser la commande "Rechercher"
du menu
pour résoudre l'énigme : la commande est : -> c'est trop facile !!!
Application.VBE.CommandBars.FindControl(ID:1).Execute
Mais bien de trouver le code qui fasse ce que cette commande fait.
Il n'y a pas d'urgence, j'ai déjà le code (le mien) mais cette question
pourrait
bien stimuler quelques curieux qui désirent en savoir plus sur le modèle
objet
VBA d'excel !
Bonne journée,
Salutations.
Bonjour à tous,
Pour ceux et celles qui aiment résoudre un énigme ...
Quel est le code qui permettrait de scanner tout le code d'un projet VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du menu
édition:
A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
Pour les plus futés, il est interdit d'utiliser la commande "Rechercher"
du menu
pour résoudre l'énigme : la commande est : -> c'est trop facile !!!
Application.VBE.CommandBars.FindControl(ID:1).Execute
Mais bien de trouver le code qui fasse ce que cette commande fait.
Il n'y a pas d'urgence, j'ai déjà le code (le mien) mais cette question
pourrait
bien stimuler quelques curieux qui désirent en savoir plus sur le modèle
objet
VBA d'excel !
Bonne journée,
Salutations.
Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
Un petit exemple : http://cjoint.com/?kfn1qLdgvP
"Modeste" a écrit dans le message de news:
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
je pense qu'une bonne base de départ serait de s'inspirer de la procédure
Calltree de Stéphen Bullen
et que de toute façon il est hors de question de triturer le VBA sans avoir
auparavent bien assimilé ce qu'a écrit Chip Pearson :
http://www.cpearson.com/excel/vbe.aspx
notament :
;o)))
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
Searching For Text In A Module
The CodeModule object has a Find method that you can use to search for text
within the code module. The Find method accepts ByRef Long parameters. Upon
input, these parameters specify the range of lines and column to search. On
output, these values will point to the found text. To find the second and
subsequent occurence of the text, you need to set the parameters to refer to the
text following the found line and column. The Find method returns True or False
indicating whether the text was found. The code below will search all of the
code in Module1 and print a Debug message for each found occurrence. Note the
values set with the SL, SC, EL, and EC variables. The code loops until the Found
variable is False.
Sub SearchCodeModule()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim FindWhat As String
Dim SL As Long ' start line
Dim EL As Long ' end line
Dim SC As Long ' start column
Dim EC As Long ' end column
Dim Found As Boolean
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Module1")
Set CodeMod = VBComp.CodeModule
FindWhat = "findthis"
With CodeMod
SL = 1
EL = .CountOfLines
SC = 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC, _
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Do Until Found = False
Debug.Print "Found at: Line: " & CStr(SL) & " Column: " &
CStr(SC)
EL = .CountOfLines
SC = EC + 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC,
_
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Loop
End With
End Sub
--
--
@+
;o)))
Un petit exemple : http://cjoint.com/?kfn1qLdgvP
"Modeste" <nomail@nomail.net> a écrit dans le message de news:
ughHE5bBIHA.4444@TK2MSFTNGP03.phx.gbl...
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :
Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
je pense qu'une bonne base de départ serait de s'inspirer de la procédure
Calltree de Stéphen Bullen
et que de toute façon il est hors de question de triturer le VBA sans avoir
auparavent bien assimilé ce qu'a écrit Chip Pearson :
http://www.cpearson.com/excel/vbe.aspx
notament :
;o)))
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
Searching For Text In A Module
The CodeModule object has a Find method that you can use to search for text
within the code module. The Find method accepts ByRef Long parameters. Upon
input, these parameters specify the range of lines and column to search. On
output, these values will point to the found text. To find the second and
subsequent occurence of the text, you need to set the parameters to refer to the
text following the found line and column. The Find method returns True or False
indicating whether the text was found. The code below will search all of the
code in Module1 and print a Debug message for each found occurrence. Note the
values set with the SL, SC, EL, and EC variables. The code loops until the Found
variable is False.
Sub SearchCodeModule()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim FindWhat As String
Dim SL As Long ' start line
Dim EL As Long ' end line
Dim SC As Long ' start column
Dim EC As Long ' end column
Dim Found As Boolean
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Module1")
Set CodeMod = VBComp.CodeModule
FindWhat = "findthis"
With CodeMod
SL = 1
EL = .CountOfLines
SC = 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC, _
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Do Until Found = False
Debug.Print "Found at: Line: " & CStr(SL) & " Column: " &
CStr(SC)
EL = .CountOfLines
SC = EC + 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC,
_
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Loop
End With
End Sub
--
--
@+
;o)))
Un petit exemple : http://cjoint.com/?kfn1qLdgvP
"Modeste" a écrit dans le message de news:
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
je pense qu'une bonne base de départ serait de s'inspirer de la procédure
Calltree de Stéphen Bullen
et que de toute façon il est hors de question de triturer le VBA sans avoir
auparavent bien assimilé ce qu'a écrit Chip Pearson :
http://www.cpearson.com/excel/vbe.aspx
notament :
;o)))
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
Searching For Text In A Module
The CodeModule object has a Find method that you can use to search for text
within the code module. The Find method accepts ByRef Long parameters. Upon
input, these parameters specify the range of lines and column to search. On
output, these values will point to the found text. To find the second and
subsequent occurence of the text, you need to set the parameters to refer to the
text following the found line and column. The Find method returns True or False
indicating whether the text was found. The code below will search all of the
code in Module1 and print a Debug message for each found occurrence. Note the
values set with the SL, SC, EL, and EC variables. The code loops until the Found
variable is False.
Sub SearchCodeModule()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim FindWhat As String
Dim SL As Long ' start line
Dim EL As Long ' end line
Dim SC As Long ' start column
Dim EC As Long ' end column
Dim Found As Boolean
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Module1")
Set CodeMod = VBComp.CodeModule
FindWhat = "findthis"
With CodeMod
SL = 1
EL = .CountOfLines
SC = 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC, _
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Do Until Found = False
Debug.Print "Found at: Line: " & CStr(SL) & " Column: " &
CStr(SC)
EL = .CountOfLines
SC = EC + 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC,
_
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Loop
End With
End Sub
--
--
@+
;o)))
Un petit exemple : http://cjoint.com/?kfn1qLdgvP
"Modeste" a écrit dans le message de news:
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
je pense qu'une bonne base de départ serait de s'inspirer de la procédure
Calltree de Stéphen Bullen
et que de toute façon il est hors de question de triturer le VBA sans avoir
auparavent bien assimilé ce qu'a écrit Chip Pearson :
http://www.cpearson.com/excel/vbe.aspx
notament :
;o)))
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
Searching For Text In A Module
The CodeModule object has a Find method that you can use to search for text
within the code module. The Find method accepts ByRef Long parameters. Upon
input, these parameters specify the range of lines and column to search. On
output, these values will point to the found text. To find the second and
subsequent occurence of the text, you need to set the parameters to refer to the
text following the found line and column. The Find method returns True or False
indicating whether the text was found. The code below will search all of the
code in Module1 and print a Debug message for each found occurrence. Note the
values set with the SL, SC, EL, and EC variables. The code loops until the Found
variable is False.
Sub SearchCodeModule()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim FindWhat As String
Dim SL As Long ' start line
Dim EL As Long ' end line
Dim SC As Long ' start column
Dim EC As Long ' end column
Dim Found As Boolean
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Module1")
Set CodeMod = VBComp.CodeModule
FindWhat = "findthis"
With CodeMod
SL = 1
EL = .CountOfLines
SC = 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC, _
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Do Until Found = False
Debug.Print "Found at: Line: " & CStr(SL) & " Column: " &
CStr(SC)
EL = .CountOfLines
SC = EC + 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC,
_
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Loop
End With
End Sub
--
--
@+
;o)))
Un petit exemple : http://cjoint.com/?kfn1qLdgvP
"Modeste" <nomail@nomail.net> a écrit dans le message de news:
ughHE5bBIHA.4444@TK2MSFTNGP03.phx.gbl...
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :
Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
je pense qu'une bonne base de départ serait de s'inspirer de la procédure
Calltree de Stéphen Bullen
et que de toute façon il est hors de question de triturer le VBA sans avoir
auparavent bien assimilé ce qu'a écrit Chip Pearson :
http://www.cpearson.com/excel/vbe.aspx
notament :
;o)))
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
Searching For Text In A Module
The CodeModule object has a Find method that you can use to search for text
within the code module. The Find method accepts ByRef Long parameters. Upon
input, these parameters specify the range of lines and column to search. On
output, these values will point to the found text. To find the second and
subsequent occurence of the text, you need to set the parameters to refer to the
text following the found line and column. The Find method returns True or False
indicating whether the text was found. The code below will search all of the
code in Module1 and print a Debug message for each found occurrence. Note the
values set with the SL, SC, EL, and EC variables. The code loops until the Found
variable is False.
Sub SearchCodeModule()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim FindWhat As String
Dim SL As Long ' start line
Dim EL As Long ' end line
Dim SC As Long ' start column
Dim EC As Long ' end column
Dim Found As Boolean
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Module1")
Set CodeMod = VBComp.CodeModule
FindWhat = "findthis"
With CodeMod
SL = 1
EL = .CountOfLines
SC = 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC, _
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Do Until Found = False
Debug.Print "Found at: Line: " & CStr(SL) & " Column: " &
CStr(SC)
EL = .CountOfLines
SC = EC + 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC,
_
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Loop
End With
End Sub
--
--
@+
;o)))
Un petit exemple : http://cjoint.com/?kfn1qLdgvP
"Modeste" a écrit dans le message de news:
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
je pense qu'une bonne base de départ serait de s'inspirer de la procédure
Calltree de Stéphen Bullen
et que de toute façon il est hors de question de triturer le VBA sans avoir
auparavent bien assimilé ce qu'a écrit Chip Pearson :
http://www.cpearson.com/excel/vbe.aspx
notament :
;o)))
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
Searching For Text In A Module
The CodeModule object has a Find method that you can use to search for text
within the code module. The Find method accepts ByRef Long parameters. Upon
input, these parameters specify the range of lines and column to search. On
output, these values will point to the found text. To find the second and
subsequent occurence of the text, you need to set the parameters to refer to the
text following the found line and column. The Find method returns True or False
indicating whether the text was found. The code below will search all of the
code in Module1 and print a Debug message for each found occurrence. Note the
values set with the SL, SC, EL, and EC variables. The code loops until the Found
variable is False.
Sub SearchCodeModule()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim FindWhat As String
Dim SL As Long ' start line
Dim EL As Long ' end line
Dim SC As Long ' start column
Dim EC As Long ' end column
Dim Found As Boolean
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Module1")
Set CodeMod = VBComp.CodeModule
FindWhat = "findthis"
With CodeMod
SL = 1
EL = .CountOfLines
SC = 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC, _
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Do Until Found = False
Debug.Print "Found at: Line: " & CStr(SL) & " Column: " &
CStr(SC)
EL = .CountOfLines
SC = EC + 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC,
_
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Loop
End With
End Sub
--
--
@+
;o)))
Un petit exemple : http://cjoint.com/?kfn1qLdgvP
"Modeste" a écrit dans le message de news:
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
je pense qu'une bonne base de départ serait de s'inspirer de la procédure
Calltree de Stéphen Bullen
et que de toute façon il est hors de question de triturer le VBA sans avoir
auparavent bien assimilé ce qu'a écrit Chip Pearson :
http://www.cpearson.com/excel/vbe.aspx
notament :
;o)))
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
Searching For Text In A Module
The CodeModule object has a Find method that you can use to search for text
within the code module. The Find method accepts ByRef Long parameters. Upon
input, these parameters specify the range of lines and column to search. On
output, these values will point to the found text. To find the second and
subsequent occurence of the text, you need to set the parameters to refer to the
text following the found line and column. The Find method returns True or False
indicating whether the text was found. The code below will search all of the
code in Module1 and print a Debug message for each found occurrence. Note the
values set with the SL, SC, EL, and EC variables. The code loops until the Found
variable is False.
Sub SearchCodeModule()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim FindWhat As String
Dim SL As Long ' start line
Dim EL As Long ' end line
Dim SC As Long ' start column
Dim EC As Long ' end column
Dim Found As Boolean
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Module1")
Set CodeMod = VBComp.CodeModule
FindWhat = "findthis"
With CodeMod
SL = 1
EL = .CountOfLines
SC = 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC, _
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Do Until Found = False
Debug.Print "Found at: Line: " & CStr(SL) & " Column: " &
CStr(SC)
EL = .CountOfLines
SC = EC + 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC,
_
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Loop
End With
End Sub
--
--
@+
;o)))
Un petit exemple : http://cjoint.com/?kfn1qLdgvP
"Modeste" <nomail@nomail.net> a écrit dans le message de news:
ughHE5bBIHA.4444@TK2MSFTNGP03.phx.gbl...
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :
Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
je pense qu'une bonne base de départ serait de s'inspirer de la procédure
Calltree de Stéphen Bullen
et que de toute façon il est hors de question de triturer le VBA sans avoir
auparavent bien assimilé ce qu'a écrit Chip Pearson :
http://www.cpearson.com/excel/vbe.aspx
notament :
;o)))
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
Searching For Text In A Module
The CodeModule object has a Find method that you can use to search for text
within the code module. The Find method accepts ByRef Long parameters. Upon
input, these parameters specify the range of lines and column to search. On
output, these values will point to the found text. To find the second and
subsequent occurence of the text, you need to set the parameters to refer to the
text following the found line and column. The Find method returns True or False
indicating whether the text was found. The code below will search all of the
code in Module1 and print a Debug message for each found occurrence. Note the
values set with the SL, SC, EL, and EC variables. The code loops until the Found
variable is False.
Sub SearchCodeModule()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim FindWhat As String
Dim SL As Long ' start line
Dim EL As Long ' end line
Dim SC As Long ' start column
Dim EC As Long ' end column
Dim Found As Boolean
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Module1")
Set CodeMod = VBComp.CodeModule
FindWhat = "findthis"
With CodeMod
SL = 1
EL = .CountOfLines
SC = 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC, _
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Do Until Found = False
Debug.Print "Found at: Line: " & CStr(SL) & " Column: " &
CStr(SC)
EL = .CountOfLines
SC = EC + 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC,
_
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Loop
End With
End Sub
--
--
@+
;o)))
Un petit exemple : http://cjoint.com/?kfn1qLdgvP
"Modeste" a écrit dans le message de news:
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
je pense qu'une bonne base de départ serait de s'inspirer de la procédure
Calltree de Stéphen Bullen
et que de toute façon il est hors de question de triturer le VBA sans avoir
auparavent bien assimilé ce qu'a écrit Chip Pearson :
http://www.cpearson.com/excel/vbe.aspx
notament :
;o)))
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
Searching For Text In A Module
The CodeModule object has a Find method that you can use to search for text
within the code module. The Find method accepts ByRef Long parameters. Upon
input, these parameters specify the range of lines and column to search. On
output, these values will point to the found text. To find the second and
subsequent occurence of the text, you need to set the parameters to refer to the
text following the found line and column. The Find method returns True or False
indicating whether the text was found. The code below will search all of the
code in Module1 and print a Debug message for each found occurrence. Note the
values set with the SL, SC, EL, and EC variables. The code loops until the Found
variable is False.
Sub SearchCodeModule()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim FindWhat As String
Dim SL As Long ' start line
Dim EL As Long ' end line
Dim SC As Long ' start column
Dim EC As Long ' end column
Dim Found As Boolean
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Module1")
Set CodeMod = VBComp.CodeModule
FindWhat = "findthis"
With CodeMod
SL = 1
EL = .CountOfLines
SC = 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC, _
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Do Until Found = False
Debug.Print "Found at: Line: " & CStr(SL) & " Column: " &
CStr(SC)
EL = .CountOfLines
SC = EC + 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL, StartColumn:=SC,
_
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Loop
End With
End Sub
--
--
@+
;o)))
hello MichDenis
As-tu testé sous 2007.
A première vue cela plante mais j'ai pas trop le temps de voir pourquoi.
J'essayerai de trouver un peu de temps la semaine prochaine.
A+
Paul VUn petit exemple : http://cjoint.com/?kfn1qLdgvP
"Modeste" a écrit dans le message de news:
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
je pense qu'une bonne base de départ serait de s'inspirer de la procédure
Calltree de Stéphen Bullen
et que de toute façon il est hors de question de triturer le VBA sans
avoir
auparavent bien assimilé ce qu'a écrit Chip Pearson :
http://www.cpearson.com/excel/vbe.aspx
notament :
;o)))
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
Searching For Text In A Module
The CodeModule object has a Find method that you can use to search for
text
within the code module. The Find method accepts ByRef Long parameters.
Upon
input, these parameters specify the range of lines and column to
search. On
output, these values will point to the found text. To find the second and
subsequent occurence of the text, you need to set the parameters to
refer to the
text following the found line and column. The Find method returns True
or False
indicating whether the text was found. The code below will search all
of the
code in Module1 and print a Debug message for each found occurrence.
Note the
values set with the SL, SC, EL, and EC variables. The code loops until
the Found
variable is False.
Sub SearchCodeModule()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim FindWhat As String
Dim SL As Long ' start line
Dim EL As Long ' end line
Dim SC As Long ' start column
Dim EC As Long ' end column
Dim Found As Boolean
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Module1")
Set CodeMod = VBComp.CodeModule
FindWhat = "findthis"
With CodeMod
SL = 1
EL = .CountOfLines
SC = 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL,
StartColumn:=SC, _
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Do Until Found = False
Debug.Print "Found at: Line: " & CStr(SL) & " Column: " &
CStr(SC)
EL = .CountOfLines
SC = EC + 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL,
StartColumn:=SC,
_
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse,
patternsearch:úlse)
Loop
End With
End Sub
--
--
@+
;o)))
hello MichDenis
As-tu testé sous 2007.
A première vue cela plante mais j'ai pas trop le temps de voir pourquoi.
J'essayerai de trouver un peu de temps la semaine prochaine.
A+
Paul V
Un petit exemple : http://cjoint.com/?kfn1qLdgvP
"Modeste" <nomail@nomail.net> a écrit dans le message de news:
ughHE5bBIHA.4444@TK2MSFTNGP03.phx.gbl...
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :
Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
je pense qu'une bonne base de départ serait de s'inspirer de la procédure
Calltree de Stéphen Bullen
et que de toute façon il est hors de question de triturer le VBA sans
avoir
auparavent bien assimilé ce qu'a écrit Chip Pearson :
http://www.cpearson.com/excel/vbe.aspx
notament :
;o)))
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
Searching For Text In A Module
The CodeModule object has a Find method that you can use to search for
text
within the code module. The Find method accepts ByRef Long parameters.
Upon
input, these parameters specify the range of lines and column to
search. On
output, these values will point to the found text. To find the second and
subsequent occurence of the text, you need to set the parameters to
refer to the
text following the found line and column. The Find method returns True
or False
indicating whether the text was found. The code below will search all
of the
code in Module1 and print a Debug message for each found occurrence.
Note the
values set with the SL, SC, EL, and EC variables. The code loops until
the Found
variable is False.
Sub SearchCodeModule()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim FindWhat As String
Dim SL As Long ' start line
Dim EL As Long ' end line
Dim SC As Long ' start column
Dim EC As Long ' end column
Dim Found As Boolean
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Module1")
Set CodeMod = VBComp.CodeModule
FindWhat = "findthis"
With CodeMod
SL = 1
EL = .CountOfLines
SC = 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL,
StartColumn:=SC, _
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Do Until Found = False
Debug.Print "Found at: Line: " & CStr(SL) & " Column: " &
CStr(SC)
EL = .CountOfLines
SC = EC + 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL,
StartColumn:=SC,
_
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse,
patternsearch:úlse)
Loop
End With
End Sub
--
--
@+
;o)))
hello MichDenis
As-tu testé sous 2007.
A première vue cela plante mais j'ai pas trop le temps de voir pourquoi.
J'essayerai de trouver un peu de temps la semaine prochaine.
A+
Paul VUn petit exemple : http://cjoint.com/?kfn1qLdgvP
"Modeste" a écrit dans le message de news:
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :Quel est le code qui permettrait de scanner tout le code d'un projet
VBA
à la recherche d'une chaîne de caractères
La procédure devrait être capable non seulement de trouver les chaines
de caractères mais de faire ce que fait la commande rechercher du
menu édition: A ) Trouver la première occurrence
B ) Ouvrir le module concerné
C ) Sélectionner le texte de la chaîne recherchée
D ) Et sur demande, aller à l'occurrence suivante ...
cette question pourrait bien stimuler quelques curieux qui désirent en
savoir plus sur le modèle objet VBA d'excel !
je pense qu'une bonne base de départ serait de s'inspirer de la procédure
Calltree de Stéphen Bullen
et que de toute façon il est hors de question de triturer le VBA sans
avoir
auparavent bien assimilé ce qu'a écrit Chip Pearson :
http://www.cpearson.com/excel/vbe.aspx
notament :
;o)))
First, you need to set an reference to the VBA Extensibililty library.
!!!!! ce que je n'arrive pas à faire :-(((
Searching For Text In A Module
The CodeModule object has a Find method that you can use to search for
text
within the code module. The Find method accepts ByRef Long parameters.
Upon
input, these parameters specify the range of lines and column to
search. On
output, these values will point to the found text. To find the second and
subsequent occurence of the text, you need to set the parameters to
refer to the
text following the found line and column. The Find method returns True
or False
indicating whether the text was found. The code below will search all
of the
code in Module1 and print a Debug message for each found occurrence.
Note the
values set with the SL, SC, EL, and EC variables. The code loops until
the Found
variable is False.
Sub SearchCodeModule()
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim FindWhat As String
Dim SL As Long ' start line
Dim EL As Long ' end line
Dim SC As Long ' start column
Dim EC As Long ' end column
Dim Found As Boolean
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("Module1")
Set CodeMod = VBComp.CodeModule
FindWhat = "findthis"
With CodeMod
SL = 1
EL = .CountOfLines
SC = 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL,
StartColumn:=SC, _
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse, patternsearch:úlse)
Do Until Found = False
Debug.Print "Found at: Line: " & CStr(SL) & " Column: " &
CStr(SC)
EL = .CountOfLines
SC = EC + 1
EC = 255
Found = .Find(target:=FindWhat, StartLine:=SL,
StartColumn:=SC,
_
EndLine:=EL, EndColumn:ì, _
wholeword:=True, MatchCase:úlse,
patternsearch:úlse)
Loop
End With
End Sub
--
--
@+
;o)))