Erreur de compilation. Variable requise - Impossible d'affec

Bonjour à tous,

Sub DATA_Input_Output()

Dim lg_inf As Integer
Dim lg_sup As Integer
Dim Rq_time As Integer

lg_inf = 200
lg_sup = 900
Rq_time = 240

        Worksheets("DATA_Input_Output").Cells(9, 16) = "Flux ratio"
        Worksheets("DATA_Input_Output").Cells(9, 17) = " Polymer residence time"
        Worksheets("DATA_Input_Output").Cells(9, 18) = "Hardware diameter"
        Worksheets("DATA_Input_Output").Cells(9, 19) = "Elt ext diameter"
        Worksheets("DATA_Input_Output").Cells(9, 20) = "Elt length"

 Worksheets("DATA_Input_Output").Cells(25, 3) = lg_inf

 For Worksheets("DATA_Input_Output").Cells(25, 3) = lg_inf To lg_sup
     If Worksheets("DATA_Input_Output").Cells(42, 3) < Rq_time Then

        Worksheets("DATA_Input_Output").Cells(10, 16) = Worksheets("DATA_Input_Output").Cells(13, 3)
        Worksheets("DATA_Input_Output").Cells(10, 17) = Worksheets("DATA_Input_Output").Cells(42, 3)
        Worksheets("DATA_Input_Output").Cells(10, 18) = Worksheets("DATA_Input_Output").Cells(23, 3)
        Worksheets("DATA_Input_Output").Cells(10, 19) = Worksheets("DATA_Input_Output").Cells(24, 3)
        Worksheets("DATA_Input_Output").Cells(10, 20) = Worksheets("DATA_Input_Output").Cells(25, 3)

     End If
  Next

End Sub

Lorsque j'exécute ce code , j'obtiens une erreur de compilation :

"Variable requise. Impossible de l'affecter à cette expression"

A quoi peut elle être due?

Merci d'avance pour votre aide.

bonjour,

l'erreur est très certainement provoquée par cette instruction

For Worksheets("DATA_Input_Output").Cells(25, 3) = lg_inf To lg_sup

tu ne peux pas utiliser de cellules comme variable pour une boucle for

une proposition pour corriger ce problème

For i = lg_inf To lg_sup
        Worksheets("DATA_Input_Output").Cells(25, 3) = i

cependant je ne pense pas que cela sera suffisant pour que ton code fonctionne comme tu le souhaites

Merci

Bonsoir Bauer,

Même si le code VBA que je te propose ne fait pas exactement

ce que tu veux, je pense qu'il t'aidera sûrement :

Option Explicit

Sub DATA_Input_Output()

  Const Rq_time% = 240

  Const lg_inf& = 200
  Const lg_sup& = 900

  Dim lig1&, lig2&, col%

  Application.ScreenUpdating = False

  Worksheets("DATA_Input_Output").Select

  [P9] = "Flux ratio": [Q9] = "Polymer residence time"
  [R9] = "Hardware diameter": [S9] = "Elt ext diameter"
  [T9] = "Elt length": lig2 = 10

  For lig1 = lg_inf To lg_sup ' lignes 200 à 900
    For col = 16 To 20 ' colonnes P à T
      If Cells(lig1, 3) < Rq_time Then
       ' à partir de la ligne 10, colonnes P à T,
        ' on met la valeur de la colonne C (de lig1)
        Cells(lig2, col) = Cells(lig1, 3)
       lig2 = lig2 + 1
      End If
    Next col
  Next lig1

End Sub

⚠ J'ai supposé que tu ne veux pas écrire tes résultats seulement en ligne 10 mais plutôt à partir de la ligne 10,

donc ligne 10 et suivantes : c'est la variable lig2 (et faut espérer que ça percutera pas les lignes en dessous,

celles de lig1, de 200 à 900 ).

Si besoin, tu peux me demander une adaptation, mais alors, il faudra me donner plus d'infos

sur ce que tu veux faire au juste, et joindre ton fichier sans données confidentielles.

Merci de me donner ton avis.

Cordialement

Vos réponses m'ont été d'une aide très précieuse.

Merci

Rechercher des sujets similaires à "erreur compilation variable requise impossible affec"