Bonjour,
Je cherche souvent sur internet comment faire ceci ou cela en VBA, aussi je recopie souvent dans un classeur excel des exemples de fonctions que j'ai piochées ainsi.
J’asservis toutes ces exemples de fonctions à des boutons de commande que j'active si je veux me remémorer dans le détail l'activité d'une fonction.
Parfois j'ai besoin (ou pas) d'éditer ou d'aller voir le code VBA correspondant à la fonction.
Donc, j'aimerai savoir s'il est possible d'écrire un code qui permet d'ouvrir l'éditeur VBA du classeur que j'utilise et (cerise sur le gâteau) le top serait que ce code ouvre l'éditeur sur une fonction déterminée (celle qui serait présente dans le code du bouton par exemple).
Naturellement, je conçois que cette édition ne peut se faire que lorsque que nous sommes sorti de la fonction, aussi j'utiliserais un "commande bouton" pour ça. (Mais ça je sais faire)
Merci d'avance Marc
Pourquoi vouloir créer un bouton "raccourcis" qui existe déjà??
onglet développeur, - Visual Basic
sinon, moi j'utilise le raccourci clavier Alt+F11
après.. pour la cerise sur le gateau... je ne sais pas
mais si tu as déjà des boutons de commande associés à un code, le clic droit sur ce bouton - affecter macro, modifier - te permet d'aller sur ledit code
Chouette, j'ai trouvé une solution.
En ouvrant un "input" qui agit sur un "if....endif" pour accéder à une commande "Stop" et le tour est joué.
Comme quoi, poser la question permet d'y répondre.
Merci de votre participation.
Bonjour.
Il vous faut la référence Microsoft Visual Basic for Application Extensibiliy 5.3
et probablement modifier les options de sécurité des macro.
Ce sont ces deux instructions qui le font :
VB:
CoModS.CodePane.Show
CoModS.CodePane.SetSelection LS, 1, LS + NbLS - 1, 1000
CoModS est un VBIDE.CodeModule et un membre de la collection .VBProject.VBComponents
Peut être que la modification de la propriété TopLine du CodePane suffira. .ProcBodyLine pourra vous trouver la ligne à spécifier.
Voilà comment j'ai fais :
A la fin de chaque fonction que je pourrais solliciter, j'écris la ligne :
If Editer Then Stop
Et dans un module, la fonction Editer
Function Editer() As Boolean
Dim Reponse As Integer
Reponse = MsgBox("On édite ?", vbYesNo)
If Reponse = vbYes Then Editer = True Else Editer = False
End Function
Et ça fonctionne très bien
Oui mais si vous voulez mieux, comme atteindre le code d'une procédure d'après un lien hypexteste sur son nom, sans avoir à modifier le code pour qu'il s'affiche par un Stop, il y a ces dispositifs de la bibliothèque VBIDE à étudier. Je ne me souviens guère avoir eu jadis de difficulté à les mettre en œuvre.
Je te remercie, Dranreb, je verrai ça très certainement plus tard, et ce que j'ai fais là me convient pour l'instant.
Je garde ta réflexion sous le coude.
Oui Dysorthographie je retiens ton idée, merci.