Utiliser le solveur d'EXCEL sur VB.Net
Bonjour à tous,
Je voudrais vous solliciter pour un problème que je rencontre lorsque j’essaie d'utiliser le solveur d'Excel sur VB.Net.
Voici mon code que j'ai trouvé sur internet et qui en principe devrait marcher mais il ne fonctionne pas chez moi.
Le fichier Excel s'ouvre avec la même valeur initiale de A1 et B1 :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Module Module1
Sub Main()
Dim oExcel As Microsoft.Office.Interop.Excel.Application
Dim oBook As Microsoft.Office.Interop.Excel.Workbook
Dim oSheet As Microsoft.Office.Interop.Excel.Worksheet
' Dim oRng As Microsoft.Office.Interop.Excel.Range
Dim oModule As VBIDE.VBComponent
Dim MacroCode As String
oExcel = New Excel.Application()
oExcel.Visible = True
oBook = oExcel.Workbooks.Add
oSheet = oBook.ActiveSheet
oSheet.Range("A1").NumberFormat = "#,##0.00"
oSheet.Range("B1").NumberFormat = "#,##0.00"
oSheet.Range("A1").Value = 2
oSheet.Range("B1").Formula = "=A1*5+4"
oModule = oBook.VBProject.VBComponents.Add(VBIDE.vbext_ComponentType.vbext_ct_StdModule)
MacroCode = "sub useSolver()" & vbCr & _
"SolverOk SetCell:=""$B$1"", MaxMinVal:=3, ValueOf:=0.00, ByChange:=""$A$1"", Engine _" & vbCr & _
":=1, EngineDesc:=""GRG Nonlinear""" & vbCr & _
"SolverSolve UserFinish:=True" & vbCr & _
"End Sub"
oBook.VBProject.References.AddFromFile("C:\Program Files\Microsoft Office\Office14\Library\SOLVER\SOLVER.xlam")
oExcel.Run(MacroCode)
End Sub |
Le code ouvre donc le fichier Excel et met juste les valeurs initiales de chaque case et n'utilise donc pas le solveur.
J'ai juste mis une formule simple pour vérifier si le solveur marchait.
Merci de m'aider