VBA, Si cellule vide, variable suivante (solver)

Albert -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Bonjour,

Je cherche à éviter de lancer le solver de ma macro et passer à la ligne suivante si la cellule est vide.
la cellule à vérifier et en colonne CG et la ligne est déterminée par la variable K
Le code ci-dessous ne fonctionne pas, voyez-vous l'erreur ?

Sub solver()
' Solver Macro
 Dim K As Integer
  For K = 7 To 51
  If Cells("CG" & K) = 0 Then
  Next
  Else
    SolverReset
    SolverOk SetCell:="CM" & K, MaxMinVal:=2, ValueOf:=0, ByChange:=[CH1:CL1].Offset(K - 1), _
        Engine:=2, EngineDesc:="Simplex LP"
    SolverAdd CellRef:="CM" & K, Relation:=3, FormulaText:="CG" & K
    SolverAdd CellRef:=[CH1:CL1].Offset(K - 1), Relation:=4, FormulaText:="entier"
    SolverSolve Userfinish:=True
   Next
   End If
End Sub


EDIT : Ajout du LANGAGE dans les balises de code pour avoir la coloration syntaxique et l'indentation

Cdlt

1 réponse

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour

    0 n'est pas "vide"
    et l'utilisation de cells n'est pas bonne
    Essaye
     If Range("CG" & K).value = "" Then
    

    1
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      ou même ceci:
      Sub solver()
      ' Solver Macro
      Dim K As Integer
      For K = 7 To 51
          If Cells(K, "CG") <> "" Then
              SolverReset
              SolverOk SetCell:="CM" & K, MaxMinVal:=2, ValueOf:=0, ByChange:=[CH1:CL1].Offset(K - 1), _
                  Engine:=2, EngineDesc:="Simplex LP"
              SolverAdd CellRef:="CM" & K, Relation:=3, FormulaText:="CG" & K
              SolverAdd CellRef:=[CH1:CL1].Offset(K - 1), Relation:=4, FormulaText:="entier"
              SolverSolve Userfinish:=True
          End If
      Next K
      End Sub
      0