Je reviens pour une autre question : Est-il possible par VBA de coder une
macro dont le but serait de vérifier si une macro donnée existe déjà dans
Perso.xls ?
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
MichDenis
Une façon de faire :
'nécessite une référence à la librairie 'Microsoft Visual Basic For Application Extensibility 5.3
P.S. la procédure suivante ne fait pas la distinction entre une Sub et une fonction.
'--------------------------- Sub test() 'Tu peux passer le classeur que tu veux... 'CheckLaSub" est la procédure recherchée MsgBox CheckLaSub(Workbooks(Perso.xls"), "CheckLasub") End Sub '---------------------------
'-------------------------------------------- Function CheckLaSub(Wk As Workbook, SearchSub As String) As Boolean
Dim Cmod As CodeModule Dim Début As Long CheckLaSub = False Dim i As Long
For Each vbcomp In Wk.VBProject.VBComponents Set Cmod = vbcomp.CodeModule With Cmod Début = .CountOfDeclarationLines + 1 Do Until Début >= .CountOfLines If UCase(SearchSub) = _ UCase(.ProcOfLine(Début, vbext_pk_Proc)) Then CheckLaSub = True Exit Function End If Début = Début + .ProcCountLines(.ProcOfLine(Début, _ vbext_pk_Proc), vbext_pk_Proc) i = i + 1 Loop End With Next End Function '--------------------------------------------
"CAP2" a écrit dans le message de news: Bonjour à tous !
Je reviens pour une autre question : Est-il possible par VBA de coder une macro dont le but serait de vérifier si une macro donnée existe déjà dans Perso.xls ?
Merci d'avance de vos idées et suggestions !!
CAP2
Une façon de faire :
'nécessite une référence à la librairie
'Microsoft Visual Basic For Application Extensibility 5.3
P.S. la procédure suivante ne fait pas la distinction entre une
Sub et une fonction.
'---------------------------
Sub test()
'Tu peux passer le classeur que tu veux...
'CheckLaSub" est la procédure recherchée
MsgBox CheckLaSub(Workbooks(Perso.xls"), "CheckLasub")
End Sub
'---------------------------
'--------------------------------------------
Function CheckLaSub(Wk As Workbook, SearchSub As String) As Boolean
Dim Cmod As CodeModule
Dim Début As Long
CheckLaSub = False
Dim i As Long
For Each vbcomp In Wk.VBProject.VBComponents
Set Cmod = vbcomp.CodeModule
With Cmod
Début = .CountOfDeclarationLines + 1
Do Until Début >= .CountOfLines
If UCase(SearchSub) = _
UCase(.ProcOfLine(Début, vbext_pk_Proc)) Then
CheckLaSub = True
Exit Function
End If
Début = Début + .ProcCountLines(.ProcOfLine(Début, _
vbext_pk_Proc), vbext_pk_Proc)
i = i + 1
Loop
End With
Next
End Function
'--------------------------------------------
"CAP2" <CAP2@dfghjkdf.net> a écrit dans le message de news: e1s14TrnHHA.1240@TK2MSFTNGP06.phx.gbl...
Bonjour à tous !
Je reviens pour une autre question : Est-il possible par VBA de coder une
macro dont le but serait de vérifier si une macro donnée existe déjà dans
Perso.xls ?
'nécessite une référence à la librairie 'Microsoft Visual Basic For Application Extensibility 5.3
P.S. la procédure suivante ne fait pas la distinction entre une Sub et une fonction.
'--------------------------- Sub test() 'Tu peux passer le classeur que tu veux... 'CheckLaSub" est la procédure recherchée MsgBox CheckLaSub(Workbooks(Perso.xls"), "CheckLasub") End Sub '---------------------------
'-------------------------------------------- Function CheckLaSub(Wk As Workbook, SearchSub As String) As Boolean
Dim Cmod As CodeModule Dim Début As Long CheckLaSub = False Dim i As Long
For Each vbcomp In Wk.VBProject.VBComponents Set Cmod = vbcomp.CodeModule With Cmod Début = .CountOfDeclarationLines + 1 Do Until Début >= .CountOfLines If UCase(SearchSub) = _ UCase(.ProcOfLine(Début, vbext_pk_Proc)) Then CheckLaSub = True Exit Function End If Début = Début + .ProcCountLines(.ProcOfLine(Début, _ vbext_pk_Proc), vbext_pk_Proc) i = i + 1 Loop End With Next End Function '--------------------------------------------
"CAP2" a écrit dans le message de news: Bonjour à tous !
Je reviens pour une autre question : Est-il possible par VBA de coder une macro dont le but serait de vérifier si une macro donnée existe déjà dans Perso.xls ?