Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment faire intervenir un Offset dans une FormulaLocal ?

3 réponses
Avatar
Tintin92
Bonsoir,

Comment faire intervenir un Offset dans une FormulaLocal ?

Cette ligne de code donne le r=E9sultat escompt=E9.
Range("B1:B6").FormulaLocal =3D "=3DA1"
La valeur de la Cellule B1 est la meme que la cellule A1
La valeur de la Cellule B2 est la meme que la cellule A2
La valeur de la Cellule B3 est la meme que la cellule A3


Mais avec un Offset seul le premier tableau est correct.
x =3D 0
For x =3D 0 To 6 Step 3
Range("B20:B25").Offset(, x).FormulaLocal =3D "=3DA20"
Next x

Pour les cellules B20 =E0 B25 les valeurs sont correctes.
Mais pour les cellules E20 =E0 E25 ce sont les valeurs de A20 =E0 A25
alors que je souhaite les valeurs de D20 =E0 D25.

Une solution ?

Merci d'avance.

Tintin92

3 réponses

Avatar
anonymousA
Bonjour,

si j'ai tout compris ?

For x = 0 To 6 Step 3
Range("B20:B25").Offset(, x).FormulaR1C1 = "=RC[-1]"
Next x

A+


Bonsoir,

Comment faire intervenir un Offset dans une FormulaLocal ?

Cette ligne de code donne le résultat escompté.
Range("B1:B6").FormulaLocal = "¡"
La valeur de la Cellule B1 est la meme que la cellule A1
La valeur de la Cellule B2 est la meme que la cellule A2
La valeur de la Cellule B3 est la meme que la cellule A3


Mais avec un Offset seul le premier tableau est correct.
x = 0
For x = 0 To 6 Step 3
Range("B20:B25").Offset(, x).FormulaLocal = "¢0"
Next x

Pour les cellules B20 à B25 les valeurs sont correctes.
Mais pour les cellules E20 à E25 ce sont les valeurs de A20 à A25
alors que je souhaite les valeurs de D20 à D25.

Une solution ?

Merci d'avance.

Tintin92



Avatar
JB
Bonjour,

For x = 0 To 6 Step 3
Range("B20:B25").Offset(, x).FormulaLocal = "=" & Chr(65 + x) &
"20"
Next x


Cordialement JB
Avatar
Tintin92
Merci à tous ceux qui m'ont répondu.
J'ai utilisé la solution de anonymousA, je n'ai pas testé celle de
JB.

Je travaille avec XL 2000 et je trouve qu'il ny a pas beaucoup de doc
sur FormulaR1C1.

En faisant un :
MsgBox Range("C19").FormulaR1C1
sur mes formules qui étaient plus complexes que celle de ma question,
je m'en suis tiré.

Merci.

Tintin92