Echanges Excel/ programme Vb.net [Résolu]

Messages postés
2
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
3 mai 2010
- - Dernière réponse :  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...
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
2
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
3 mai 2010
3
Merci
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?

A votre disposition si vous voulez plus de détail


Bye

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ricosmith34
0
Merci
Bonjour,

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??
Commenter la réponse de madmat67