ricosmith34
Messages postés2Date d'inscriptionmardi 6 février 2007StatutMembreDernière intervention 3 mai 2010
-
3 mai 2010 à 00:28
madmat67 -
16 nov. 2012 à 13:56
Bonjour a tous,
j'ai un petit souci avec un projet en cours et je ne trouve pas le moyen d'obtenir le résultat souhaité.
Voila j'essaye de créer un éditeur de présentation de mes données. Donc techniquement je dois avoir une feuille créer par l'utilisateur dans excel avec des plages nommées que le programme reconnait et remplis (ou vide au besoin). Mon programme principal ouvre Excel et donne la main à l'utilisateur, par la suite l'utilisateur déclenche une macro Excel qui doit renvoyer sur le programme principal pour traitement.
Voila mon problème actuel : je ne voit pas trop comment faire pour que ma macro déclenche une fonction sur le programme principal.
Y as-t-il une méthode simple pour qu'une Macro Excel appelle une fontion d'un programme en vb.net ? Sinon est-ce qu'on peut bidouiller un Event pour "detecter" l'activation de la macro Excel dans le code principal ?
Merci d'avance si vous arriver à me comprendre parce que je ne suis pas sur de m'être bien expliqué vu l'heure...
ricosmith34
Messages postés2Date d'inscriptionmardi 6 février 2007StatutMembreDernière intervention 3 mai 2010 3 mai 2010 à 22:10
Bon Je me suis auto répondu en recherchant dans les docs et sur d'autre Fofo Anglais donc j'en fait profiter tout le monde.
Pour avoir une liste des Events excel que l'on peut utiliser dans une programmation sur vbExpress il existe une méthode très simple :
créer une classe comme ceci :
Imports Microsoft.Office.Interop.Excel
Public Class Evenements
Dim WithEvents App As Microsoft.Office.Interop.Excel.Application
Dim WithEvents WB As Microsoft.Office.Interop.Excel.Workbook
Dim WithEvents WS As Microsoft.Office.Interop.Excel.Worksheet
Dim WithEvents CHT As Microsoft.Office.Interop.Excel.Chart
End class
Ensuite il suffit de cliquer sur le menu deroulant au dessus de la fenêtre de code (celui de gauche) puis selectionner
"App", "WB", "WS" ou "CHT"
Ensuite on deroule le menu au dessus de la fenetre de code (celui de droite cette fois) et la on a tout les Events possible.
Quand on clique sur l'un, il insere l'event automatiquement dans la classe?
Ceci répond en partie aux questions que je me pose...
Je souhaite extraire une valeur d'Autocad (cette partie-là du code est réalisée et opérationnelle), et l'injecter dans excel.
Par contre, j'aimerais qu'une fois mon "opération autocad" terminée, la fenêtre Excel préalablement ouverte bascule au 1er plan, et qu'ensuite lorsque je clique une 1ère cellule il m'insère une valeur (que je lui donnerai, provenant du code précédant) et quand je clique une 2ème cellule idem avec une 2ème valeur. Ensuite fin du programme.
La partie que je ne maîtrise pas du tout est la partie Excel.
Le programme (en vb.net) est lancé depuis Autocad.
Comment utiliser la partie "events" pour qu'autocad détecte lorsqu'on clique une cellule dans la fenêtre excel ouverte.
Un GetObject pour déclarer la session excel ouverte, et après??