IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Programmation Excel Solveur VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2
    Par défaut Programmation Excel Solveur VBA
    Bonjour, dans le programme si dessus je n'arrive pas à insérer les références des cellules obtenues après les boucles IF dans le TABLEAU A( ) pour créer une plage dynamique des cellules à laquelle je ferai appel quand je vais appeler le solveur VBA d'excel au niveau de ByChange. Si quelqu'un peut m"aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Option Explicit
    Dim TABLEAUA() As variant
    Dim TABLEAUB() As variant
    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
    Sub PROGRAMMATION()
    Dim VARIABLE As Range
    'Dim TABLEAUB() As Range
    'Dim TABLEAUA() As Variant
    Dim ReserveT As Long
    Dim ReserveE As Long
    Dim ReserveC As Long
    Dim j As Long
    Dim quota As Long
     
     
       For j = 1 To 49
                         ReserveT = Sheets("feuil2").Cells(j + 3, 3)
                         ReserveE = Sheets("feuil2").Cells(j + 3, 4)
                         ReserveC = Sheets("feuil2").Cells(j + 3, 5)
                         quota =Sheets("feuil1").Cells(j + 13, 6)
     
                         ReDim Preserve TABLEAUA(j)
                         ReDim Preserve TABLEAUB(j)
     
                         If (quota < ReserveT) And ((quota < ReserveE) And (quota < ReserveC)) Then
                         Sheets("Feuil3").Activate
                         TABLEAUA(j) = Cells(8, 1 + j)
                         TABLEAUA(j) = Cells(9, 1 + j)
                         TABLEAUA(j) = Cells(10, 1 + j)
     
                         'Cells(8, 1 + j) = TABLEAUA(j)
                         'Cells(9, 1 + j) = TABLEAUA(j)
                        ' Cells(10, 1 + j) = TABLEAUA(j)
                       'VARIABLE.Select
                       ' VARIABLE = Union(Cells(8, 1 + j), Cells(9, 1 + j), Cells(10, 1 + j))
     
     
                         ElseIf (quota < ReserveT) And ((quota < ReserveE) And (quota >= ReserveC)) Then
     
                         Cells(8, 1 + j) = TABLEAUA(j)
                         Cells(9, 1 + j) = TABLEAUA(j)
                         Cells(10, 1 + j) = TABLEAUB(j)
     
                        ' VARIABLE = Union(Cells(8, 1 + j), Cells(9, 1 + j))
     
                         ElseIf (quota < ReserveT) And ((quota >= ReserveE) And (quota >= ReserveC)) Then
     
                         Cells(8, 1 + j) = TABLEAUA(j)
                         Cells(9, 1 + j) = TABLEAUB(j)
                         Cells(10, 1 + j) = TABLEAUB(j)
     
                      'VARIABLE = (Cells(8, 1 + j))
     
                         ElseIf (quota >= ReserveT) And ((quota >= ReserveE) And (quota >= ReserveC)) Then
     
                         Cells(8, 1 + j) = TABLEAUB(j)
                         Cells(9, 1 + j) = TABLEAUB(j)
                         Cells(10, 1 + j) = TABLEAUB(j)
     
                         End If
     
     
        Next
        'TABLEAUB(j) = 0 
    End Sub
    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
    Sub PROGRAMMATIONLINEAIRE()
    '
    ' ESSAI Macro
    '
     
    '
        SolverOk SetCell:="$BB$6", MaxMinVal:=2, ValueOf:=0, ByChange:= _
            "$BB$6,TABLEAUA(j)", Engine:=2, EngineDesc:="Simplex LP"
        SolverAdd CellRef:="$AZ$8:$AZ$10", Relation:=1, FormulaText:="$BA$8:$BA$10"
        SolverAdd CellRef:="$AZ$8:$AZ$10", Relation:=1, FormulaText:="$BB$6"
        SolverAdd CellRef:="$B$12:$AX$12", Relation:=2, FormulaText:="1"
        SolverAdd CellRef:="$B$8:$AX$10", Relation:=5, FormulaText:="binaire"
        SolverAdd CellRef:="$BB$6", Relation:=3, FormulaText:="$BD$6"
        SolverOk SetCell:="$BB$6", MaxMinVal:=2, ValueOf:=0, ByChange:= _
            "$BB$6,$B$8:$AX$10", Engine:=2, EngineDesc:="Simplex LP"
        SolverOk SetCell:="$BB$6", MaxMinVal:=2, ValueOf:=0, ByChange:= _
            "$BB$6,$B$8:$AX$10", Engine:=2, EngineDesc:="Simplex LP"
        SolverSolve
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub solver()
    Call PROGRAMMATION
    Call PROGRAMMATIONLINEAIRE
     
    End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

Discussions similaires

  1. [LibreOffice][Tableur] Portage d'un programme excel (avec VBA) vers openoffice et libreoffice
    Par michelj64 dans le forum OpenOffice & LibreOffice
    Réponses: 4
    Dernier message: 10/05/2016, 10h58
  2. [XL-2003] programmation excel par vba
    Par rogerone dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/04/2010, 18h48
  3. Réponses: 2
    Dernier message: 19/03/2008, 10h30
  4. Lancer un programme excel vba
    Par wawawawa dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/08/2007, 10h19
  5. Programme excel vba
    Par winieloursonaub dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/08/2006, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo