VBA: Boucle

lili -  
 Macarons -
Bonjour,

J'ai un probleme avec ma programmation dans VBA
j'ai besoin de récupéré des données des cellules d'excel et de m'en servir pour pouvoir faire ma boucle.

Sub Acier()

' Donnée à récupérée dans excel
P1.Value = Range("Données!I10")
P5.Value = Range("Données!I11")

acier = P1

'Donnée à récupéré dans excel
N_int.Value = Range("Module4!E8")
N_ext.Value = Range("Module4!E9")
E_int.Value = Range("Module4!E10")
E_ext.Value = Range("Module4!E11")

Do While (N_int < N_ext And E_int < E_ext Or P1 = P5)
acier = acier + 0.0005
Range("Données!I5").Value = acier
' On range la valeur de la cellule nommé acier dans la case correspondante et on fait une boucle par rapport à celle ci.
Loop

End Sub

Merci par avance et j'espere que c'est compréhensible.

lili

1 réponse

  1. Paf
     
    Bonjour

    rien compris au besoin !

    on récupère des données : Ok
    on récupère d'autres données Ok

    on fait une boucle basée sur un test qui n'évoluera jamais puisque les valeurs testées sont figées ( on vient de les récupérer juste avant) : pas Ok

    (a priori on est dans un userform ?)

    A+ d'infos
    0
    1. lili
       
      je suis bien dans un userform.

      les valeur que l'utilisateur inscrit sur l'userform se range dans des cellule d'excel.
      Une grosse partie de mon programme à été fait sur excel car les formule était simple.

      Ce que j'aimerai faire c'est une incrémentation de la cellule acier de 0.005
      Sachant que cette cellule a pour valeur minimum P1 et maximum P5

      J'espere que mon besoin est un peu mieu expliquer..
      0
    2. Paf
       
      les valeur que l'utilisateur inscrit sur l'userform se range dans des cellule d'excel
      heu ..., a priori c'est l'inverse !

      Ce que j'aimerai faire c'est une incrémentation de la cellule acier de 0.005 
      la variable acier vaut P1 au départ ; faut-il l'incrémenter de 0.005 jusqu'à ce qu'elle atteigne P5

      si oui alors:
      Do While acier <= P5
          acier = acier + 0.0005
      Loop 
      Range("Données!I5").Value = acier


      Bonne suite ou A+
      0
    3. lili
       
      je vais encore t'embéter Paf ma variable acier est comprise entre P1 et P5 et je doit incrementé la variable acier jusqu'a ce que Nint>Next et Eint>Eext

      merci pour cette aide ça ma beaucoup aidé deja.
      0
    4. Paf
       
      je ne vois pas bien comme ça.
      Nint, Next, Eint et Eext sont des textboxs (?) renseignées depuis Excel.
      jusqu'a ce que Nint>Next et Eint>Eext veut dire que ces valeurs évoluent; mais comment ? manuellement?
      alors est ce que pour chaque modification de Nint, Next, Eint ou Eext, il faudra incrémenter acier?

      peut tu mettre un lien de ton fichier dans ton post de réponse, en utilisant cijoint.fr

      A+
      0
    5. lili
       
      oui mais comment on fais..

      :S
      0