Utiliser des fonctions C# pour Excel

Utiliser des fonctions C# pour Excel - C#/.NET managed - Programmation

Marsh Posté le 10-01-2010 à 18:03:19    

Bonjour, j'ai un classeur excel avec 3 colonnes de données et je dois faire des calculs complexe dessus. J'aimerais donc pouvoir utiliser des fonctions écrite en C# pour traiter les données. Mais je ne sais pas trop quelles méthodes sont les plus adaptées. Pour l'instant, j'ai créé un projet VS2008 qui me créé une librairie dll pour excel ensuite dans mon classeur excel j'arrive a importer la librairie correctement, mais j'ai aucune idée de la façon de passer les paramètres en VBA pour des fonctions appelée depuis excel. (des tableaux de double du côté c#). Que faire ? Je voudrais savoir aussi s'il est possible de s'affranchir complètement du VB avec VisualStudio et le C# ? On peut effectivement créer un projet C#/Excel, mais je n'arrive pas à accéder aux cellules et je ne trouve pas la moindre documentation.
 
Voilà des bouts de code sur des exemples simples :
 
côté c#

Code :
  1. public double somme(double[] tab)
  2.         {
  3.             double ret = 0;
  4.             foreach (double d in tab)
  5.             {
  6.                 ret += d;
  7.             }
  8.             return ret;
  9.         }


 
côté VB

Code :
  1. Private ppslib As ExcelInterface.Functions
  2. Sub Pricer()
  3.     Range("F4" ).Select
  4.     Call ppslib.somme(B4:B50 ???)
  5. End Sub


 
merci pour vos idées.

Reply

Marsh Posté le 10-01-2010 à 18:03:19   

Reply

Marsh Posté le 10-01-2010 à 22:08:06    

Merci, ces documents sont mieux que ceux que j'avais trouvé. Pourquoi la librairie interop est-elle si mal concue ? (Je veux dire en pratique quels sont les problèmes rencontrés, j'attends pas de réponse du genre parce que chez microsoft c'est des boulets )
Ensuite, pour l'instant mon premier problème, c'est le passage d'un tableau excel en paramètre VBA comme je montre dans les exemples. Tu sais comment faire ?
 
merci

Reply

Marsh Posté le 12-01-2010 à 16:06:51    

J'essaye de m'affranchir du VBA mais je n'y arrive pas. J'ai créé un projet Excel/C# sous visual studio, du coup je cherche un tutorial qui m'explique comment manipuler excel sans avoir a le lancer, puisque le projet lance déjà une instance d'excel. Quel est le code pour trouver la référence de l'instance d'excel, le workbook et surtout la worksheet ?

Reply

Marsh Posté le 13-01-2010 à 12:04:23    

Non, c'est bon, j'ai trouvé ce qu'il me faut. En fait je suis pas s$ir de m'être fait bien comprendre, pour cela il faudrait que tu créés un projet excel/c# sous visual, ensuite on peut accéder aux feuilles en faisant simplement globals.feuilleX.range(...) et tout devient très simple.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed