OVH Cloud OVH Cloud

insérer des formules par VBa

6 réponses
Avatar
Sunburn
Bonjour,
j'ai un tableau qui se cré par VBA.
comment faire pour que dans ma colonnes H, je puisse y insérer une formule
qui ne s'éxécute que lorsque la celulle A est non vide?
merci.
Yann

6 réponses

Avatar
Daniel
Bonjour.
Il faut modifier la formule de l'exemple :

Sub test()
Dim c As Range, Plage As Range
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
c.Offset(, 7).FormulaR1C1 = "=IF(RC1<>"""",""TAFORMULE"","""")"
Next c
End Sub

Cordialement.
Daniel
"Sunburn" a écrit dans le message de
news:
Bonjour,
j'ai un tableau qui se cré par VBA.
comment faire pour que dans ma colonnes H, je puisse y insérer une formule
qui ne s'éxécute que lorsque la celulle A est non vide?
merci.
Yann


Avatar
Sunburn
Re,
en fait, il bug.
ma formule est Ò*F2/151.67*1.47 en fait, c'est le chiffre de la colonne D
* le chiffre de la colonne D /151.67 * 1.47.

il me met ma formule en H1
moi je voudrais qu'il effectue le calcul. C'est possible?
Merci.
Yann
Avatar
Daniel
Si je comprends bien :
Sub test()
Dim c As Range, Plage As Range
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
c.Offset(, 7).FormulaR1C1 =
"=IF(RC1<>"""",RC4*RC6/151.67*1.47,"""")"
Next c
End Sub
Daniel
"Sunburn" a écrit dans le message de
news:
Re,
en fait, il bug.
ma formule est Ò*F2/151.67*1.47 en fait, c'est le chiffre de la colonne
D
* le chiffre de la colonne D /151.67 * 1.47.

il me met ma formule en H1
moi je voudrais qu'il effectue le calcul. C'est possible?
Merci.
Yann


Avatar
Jacky
Bonjour,
moi je voudrais qu'il effectue le calcul. C'est possible?
'----------


Sub jj()
Dim c As Range, Plage As Range, x As Long
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
x = c.Row
If c <> "" Then Range("h" & x) = Range("d" & x) * Range("f" & x) /
151.67 * 1.47
Next c
End Sub
'----------
--
Salutations
JJ

"Daniel" a écrit dans le message de news:
%
Si je comprends bien :
Sub test()
Dim c As Range, Plage As Range
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
c.Offset(, 7).FormulaR1C1 =
"=IF(RC1<>"""",RC4*RC6/151.67*1.47,"""")"
Next c
End Sub
Daniel
"Sunburn" a écrit dans le message de
news:
Re,
en fait, il bug.
ma formule est Ò*F2/151.67*1.47 en fait, c'est le chiffre de la
colonne D
* le chiffre de la colonne D /151.67 * 1.47.

il me met ma formule en H1
moi je voudrais qu'il effectue le calcul. C'est possible?
Merci.
Yann






Avatar
Sunburn
Re,
oui ça fonctionne impec.
par contre je voudrais avoir le résultat, avec séparateur de milliers et
avec 2 virgules. C'est possible?
Yann


Si je comprends bien :
Sub test()
Dim c As Range, Plage As Range
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
c.Offset(, 7).FormulaR1C1 =
"=IF(RC1<>"""",RC4*RC6/151.67*1.47,"""")"
Next c
End Sub
Daniel
"Sunburn" a écrit dans le message de
news:
Re,
en fait, il bug.
ma formule est Ò*F2/151.67*1.47 en fait, c'est le chiffre de la colonne
D
* le chiffre de la colonne D /151.67 * 1.47.

il me met ma formule en H1
moi je voudrais qu'il effectue le calcul. C'est possible?
Merci.
Yann







Avatar
Sunburn
en fait c'(est bon :
Sheets("Formation").Columns("I:I").NumberFormat = "# ##0.00"

voili voilou.
Yann


Re,
oui ça fonctionne impec.
par contre je voudrais avoir le résultat, avec séparateur de milliers et
avec 2 virgules. C'est possible?
Yann


Si je comprends bien :
Sub test()
Dim c As Range, Plage As Range
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
c.Offset(, 7).FormulaR1C1 =
"=IF(RC1<>"""",RC4*RC6/151.67*1.47,"""")"
Next c
End Sub
Daniel
"Sunburn" a écrit dans le message de
news:
Re,
en fait, il bug.
ma formule est Ò*F2/151.67*1.47 en fait, c'est le chiffre de la colonne
D
* le chiffre de la colonne D /151.67 * 1.47.

il me met ma formule en H1
moi je voudrais qu'il effectue le calcul. C'est possible?
Merci.
Yann