Bonjour tlm. Je travaille sous Visual C++ 6.0. Je veux savoir est-ce qu'il est possible qu'une feuille Excel notifie un objet COM lorsqu'une cellule de cette feuille est modifiée? Merci pour vos éclaircissements.
Bonjour tlm. Je travaille sous Visual C++ 6.0. Je veux savoir est-ce qu'il est possible qu'une feuille Excel notifie un objet COM lorsqu'une cellule de cette feuille est modifiée? Merci pour vos éclaircissements.
J'ai trouvé la solution. En fait, j'ai trouvé un tutoriel qui explique comment intercepter les évenements Excel avec un client MFC dans Visual C++ .NET. Mais, on peut facilement le modifier pour pouvoir intercepter les évènements Excel avec un objet COM dans Visual C++ 6.0.
Voici d'ailleurs le lien vers ce tutoriel au cas où ça interresserait quelqu'un :
http://support.microsoft.com/kb/309301/fr
J'ai réussi à capturer les évenements lancés par une feuille Excel.
Mais je n'arrive pas à déterminer à partir de quelle feuille Excel et à partir de quelle cellule cet évenement à été lancé.
Si quelqu'un saurait le faire, n'hésitez surtout pas à me proposer vos conseils
J'ai trouvé comment déterminer la feuille Excel et la cellule de cette feuille qui a lancé l'évènement relatif au changement de la valeur de la cellule.
En fait, dans le tutoriel que j'ai déjà fourni son lien, il faut aller à la fonction
CAppEventListener::HandleSheetChange( IDispatch* xlSheet,IDispatch* xlRange)
et ajouter le code suivant:
_Application app;
_Workbook wbk;
_Worksheet sheet;
Range range;
long ligne;
long colonne;
sheet.AttachDispatch(xlSheet);
app=sheet.GetApplication();
range.AttachDispatch(app.GetActiveCell());
wbk=app.GetActiveWorkbook();
MessageBox(NULL,"Fichier source de la notification",wbk.GetFullName(),MB_OK);
colonne=range.GetColumn();
ligne=range.GetRow();
Partager