Bonsoir à tous,
J'ai un problème avec ce code , j'aimerai comprendre ce qu'il signifie, sachant que je dois exposer un problème qui utilise le code pour ma soutenance je trouve personne pour m'expliquer je reviens toute vers vous ici, si quelqu'un pourrait me le commenter je lui en serait infiniment reconnaissante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Sub VersionSolveur()
 
'Premièrement, déterminer le numéro de la version du solveur.
OfficeVersion = Int(Val(Application.Version()))
 
'Puis, déterminer le nom du solveur.
Select Case OfficeVersion
Case Is <= 10
        MsgBox "Votre version d'Excel n'est pas supportée par le gabarit; des erreurs sont possibles."
SolverName = "solver.xla" & "!"
Case 11                                                                     'Excel 2003
SolverName = "solver.xla" & "!"
Case 12                                                                     'Excel 2007
SolverName = "solver.xlam" & "!"
'Case 13             'version inconnue… à vérifier éventuellement!
Case Is >= 14                                                               'Excel 2010
SolverName = "solver.xlam" & "!"
End Select
 
'Ensuite, réinitialiser le solveur.
If OfficeVersion <= 11 Then
    Application.Run SolverName & "Solver.Solver2.Auto_open"                 'N'existe pas dans Exc07.
End If
Application.Run SolverName & "SolverReset"
 
'Cocher Min ou Max pour la cible z.
If OfficeVersion <= 12 Then
    If Sheets("Données").cboMaxMin.Text = "Max" Then
        Application.Run SolverName & "SolverOk", "z", 1, "0", "xij"
    Else
        Application.Run SolverName & "SolverOk", "z", 2, "0", "xij"
    End If
ElseIf OfficeVersion >= 14 Then
    If Sheets("Données").cboMaxMin.Text = "Max" Then
        Application.Run SolverName & "SolverOk", "z", 1, "0", "xij", 2, "Simplex LP"
    Else
        Application.Run SolverName & "SolverOk", "z", 2, "0", "xij", 2, "Simplex LP"
    End If
Else
     MsgBox " Version d'Excel non supportée par ce gabarit."
End If
 
End Sub
 
Sub Resoudre()
Dim symbole As Integer, i As Integer, j As Integer
Dim c As Object
 
Sheets("Modèle").Select
Call VersionSolveur
 
'Spécifier les contraintes technologiques.
Application.ReferenceStyle = xlR1C1
ActiveWorkbook.Names.Add Name:="MD", RefersToR1C1:= _
     "=R" & DebTabM & "C" & NbVar + 4 & ":R" & DebTabM + M + N - 1 & "C" & NbVar + 4
Application.Run SolverName & "SolverAdd", _
     "R" & DebTabM & "C" & NbVar + 2 & ":R" & DebTabM + M + N - 1 & "C" & NbVar + 2, 2, "MD"
 
'Spécifier les options du solveur.
If OfficeVersion <= 12 Then
     Application.Run SolverName & "SolverOptions", 10000, 10000, 0.000001, True, False, 1, 1, 1, 0, _
                           False, 0.0001, True
ElseIf OfficeVersion >= 14 Then
     Application.Run SolverName & "SolverOptions", 10000, 10000, 0.000001, True, False, 1, 1, 1, 0, _
                           False, 0.0001, True, 500, 0, True, False, 0.6, 10000, 1000, False, 3600
Else
     MsgBox " Version d'Excel non supportée par ce gabarit."
End If
Application.Run SolverName & "SolverSolve", False, False
 
Application.ReferenceStyle = xlA1
Call PresenterSolution
End Sub