Tester si une Sub existe grâce à son nom
Fermé
Orbital38
Messages postés
68
Date d'inscription
dimanche 4 janvier 2015
Statut
Membre
Dernière intervention
31 octobre 2020
-
Modifié par Orbital38 le 6/08/2015 à 22:37
NHenry Messages postés 15163 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 1 novembre 2024 - 7 août 2015 à 15:37
NHenry Messages postés 15163 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 1 novembre 2024 - 7 août 2015 à 15:37
A voir également:
- Tester si une Sub existe grâce à son nom
- Tester son pc - Guide
- Flash drive tester - Télécharger - Divers Utilitaires
- Dans le document à télécharger, trouvez les lettres situées derrière les rectangles pour reconstituer le nom du chat. comment s'appelle-t-il ? - Forum InDesign
- Nom de l'adresse - Forum Réseaux sociaux
- Trouver un numéro de portable avec un nom ✓ - Forum Mobile
2 réponses
NHenry
Messages postés
15163
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 novembre 2024
345
6 août 2015 à 23:06
6 août 2015 à 23:06
A ma connaissance, cela n'est pas possible en VBA, en VB.NET, c'est faisable avec Reflection, mais en VB6/A, aucun mécanisme n'est prévu.
jordane45
Messages postés
38290
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2024
4 703
7 août 2015 à 01:39
7 août 2015 à 01:39
bonjour,
En vba ....Oui c'est faisable ... il suffit de regarder les codes de manipulation du visual basir editor (vbe).
https://www.mrexcel.com/board/threads/vba-function-to-check-if-a-particular-macro-exists.284317/#post1397461
Pour savoir quelles autres possibilités tu as concernant la manipulation du VBE par VBA.. tu peux regarder ceci : http://www.cpearson.com/excel/vbe.aspx
Tu trouveras aussi de très bons exemples sur developpez.com
https://silkyroad.developpez.com/VBA/VisualBasicEditor/
.
En vba ....Oui c'est faisable ... il suffit de regarder les codes de manipulation du visual basir editor (vbe).
https://www.mrexcel.com/board/threads/vba-function-to-check-if-a-particular-macro-exists.284317/#post1397461
'================================================================================= '- CHECK IF A MODULE & SUBROUTINE EXISTS '- VBA constant : vbext_pk_Proc = All procedures other than property procedures. '- An error is generated if the Module or Sub() does not exist - so we trap them. '--------------------------------------------------------------------------------- '- VB Editor : Tools/References - add reference TO ...... '- .... "Microsoft Visual Basic For Applications Extensibility" '---------------------------------------------------------------------------------- '- Brian Baulsom October 2007 '================================================================================== Sub MacroExists() Dim MyModule As Object Dim MyModuleName As String Dim MySub As String Dim MyLine As Long '--------------------------------------------------------------------------- '- test data MyModuleName = "TestModule" MySub = "Number2" '---------------------------------------------------------------------------- On Error Resume Next '- MODULE Set MyModule = ActiveWorkbook.VBProject.vbComponents(MyModuleName).CodeModule If Err.Number <> 0 Then MsgBox ("Module : " & MyModuleName & vbCr & "does not exist.") Exit Sub End If '----------------------------------------------------------------------------- '- SUBROUTINE '- find first line of subroutine (or error) MyLine = MyModule.ProcStartLine(MySub, vbext_pk_Proc) If Err.Number <> 0 Then MsgBox ("Module exists : " & MyModuleName & vbCr _ & "Sub " & MySub & "( ) : does not exist.") Else MsgBox ("Module : " & MyModuleName & vbCr _ & "Subroutine : " & MySub & vbCr _ & "Line Number : " & MyLine) End If End Sub
Pour savoir quelles autres possibilités tu as concernant la manipulation du VBE par VBA.. tu peux regarder ceci : http://www.cpearson.com/excel/vbe.aspx
Tu trouveras aussi de très bons exemples sur developpez.com
https://silkyroad.developpez.com/VBA/VisualBasicEditor/
.
Orbital38
Messages postés
68
Date d'inscription
dimanche 4 janvier 2015
Statut
Membre
Dernière intervention
31 octobre 2020
Modifié par Orbital38 le 7/08/2015 à 10:03
Modifié par Orbital38 le 7/08/2015 à 10:03
Jamais entendu parlé de VBE. XD
Merci en tout cas, j'essaierai ça dans 2/3 jours après mon week-end dans le Sud. :p
Si je passe en VB.NET je suppose que, si je n'utilise pas Reflection, je pourrais tout de même écrire :
Merci en tout cas, j'essaierai ça dans 2/3 jours après mon week-end dans le Sud. :p
Si je passe en VB.NET je suppose que, si je n'utilise pas Reflection, je pourrais tout de même écrire :
Set MyModule = VBProject.vbComponents(MyModuleName).CodeModuleou tout du moins son équivalent en VB.NET, non ? Je ne pose la question que sur cette ligne car c'est la seule qui implique obligatoirement du VBA avec ActiveWorkbook (à mes yeux seulement bien sûr ^^).
NHenry
Messages postés
15163
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 novembre 2024
345
7 août 2015 à 15:37
7 août 2015 à 15:37
J'avais vaguement entendu parlé de l'automatisation VBE, je viens d'apprendre des choses, merci Jordane :)
6 août 2015 à 23:07
Je vais DL visual studio community là. Faut bien que je me lance en VB.NET.
Le seul truc dont j'ai peur c'est que Application.Run ne marche plus (ou d'autres trucs du genre).
Je garde le Reflection dans un coin de ma tête en tout cas. ^^
6 août 2015 à 23:15
En l'état, si tu y arrive avec un On Error, ce sera plus simple.
Voir ce petit article avant de te lancer :
https://codes-sources.commentcamarche.net/faq/11151-pourquoi-mon-code-vb6-vba-ne-marche-pas-en-vb-net
Modifié par Orbital38 le 6/08/2015 à 23:26
De toute façon je vais y aller mollo. Déjà je vais passer en VB.NET petit à petit mes fonctions/sub/module et y aller pas à pas. Faire des tests à part si j'ai trop d'erreur pour savoir d'où vient le problème de syntaxe. ^^
Par contre je n'ai absolument aucune idée de comment est construit le "framework" (aucune idée de ce que ça veut dire aussi d'ailleurs XD).
Edit : je vais ressortir mes cours de C++ pour revoir la construction typique d'un petit programme avec les constructeur, destructeur, etc...
7 août 2015 à 00:00