FormulaR1C1

Résolu
bud973 Messages postés 8 Statut Membre -  
 bud973 -
Bonjour tout le monde,

J'ai un petit problème de syntaxe je crois.
Sa plante au niveau de la formule, je pense que je n'arrive pas à faire passer le i.

Set Ex = ActiveSheet.Range("A3")
i = 0
Do While Not IsEmpty(Ex)
prss.Select
ActiveCell.FormulaR1C1 = "=(((2*PI()/R[(&i)+6]C[-5])*sqrt(60*R[(&i)+4]C[-5]*10^(RC[-1]/20))^2/(120*PI()))*R[(&i)+21]C[-4]"
Set prss = prss.Offset(1, 0)
Set Ex = Ex.Offset(1, 0)
i = i - 1
Loop
.
.
.

J'ai faits comme ça car si je mets directement une cellule à passer genre G9, il ne comprend pas et me renvoi 'G9' dans ma formule, du coup le calcul ne ce fait pas.Voici quand même ma première version au cas ou.
.
ActiveCell.FormulaR1C1 =
"=(((2*PI/G9*sqrt(60*G7)*10^(RC[-1]/20))^2/(120*PI))*H24"
.

Si quelqu'un peu m'aider.
Merci d'avance!

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

3 réponses

  1. melanie1324 Messages postés 1561 Statut Membre 156
     
    Bonjour,

    Set Ex = ActiveSheet.Range("A3")
    i = 0
    Do While Not IsEmpty(Ex)
    prss.Select
    ActiveCell.FormulaR1C1 = "=(((2*PI()/R[(" & i &")+6]C[-5])*sqrt(60*R[(" & i & ")+4]C[-5]*10^(RC[-1]/20))^2/(120*PI()))*R[(" & i &")+21]C[-4]"
    Set prss = prss.Offset(1, 0)
    Set Ex = Ex.Offset(1, 0)
    i = i - 1
    Loop
    .
    0
    1. bud973 Messages postés 8 Statut Membre
       
      Merci beaucoup pour ta réponse mélanie!
      0
    2. bud973 Messages postés 8 Statut Membre
       
      Ça ne marche pas, j'ai une erreur 1004 qui apparaît toujours à la même ligne mais pourtant la bonne page est bien active...
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour à tous les deux

    Ta formule "initiale"
    "=(((2*PI/G9*sqrt(60*G7)*10^(RC[-1]/20))^2/(120*PI))*H24"
    n'est pas correcte
    peux tu
    1. donner la formule correcte entrée en français au format A1
    2. dire dans quelle cellule tu la mets.
    3. indiquer les n° de lignes et de colonnes qui vont varier (le i de ton code)

    Cdlmnt
    0
    1. Bud973
       
      Bonjour,

      Merci pour votre réponse.

      1) =(((2*PI()/$G$9)*RACINE(60*$G$7)*10^(K3/20))^2/(120*PI()))*$H$24
      .
      2) À mettre dans la cellule L3 (3,11) pour le premier calcul
      .
      3) Et c'est à partir de la cellule K3 (3,12) que ça vari jusqu'au moment où la colonne K devient nulle (Ex (1,3) sera nul en même temps)
      .
      Je commence à peine, je ne réponds peut-être pas ce qu'il fallait.
      Cordialement.
      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Essaies ceci

    Dim li As Long, lideb As Long, f As String
    li = 3
    While Range("K" & li).Value <> ""
    f = "=(((2*PI()/$G$9)*RACINE(60*$G$7)*10^(K" & li & "/20))^2/(120*PI()))*$H$24"
    Range("L" & li).FormulaLocal = f
    li = li + 1
    Wend

    Cdlmnt
    0
    1. bud973
       
      Yeeeeeees, au top!
      Ca marche parfaitement! Merci beaucoup et bonne continuation!
      0