Calcul en vba

cj welch

XLDnaute Occasionnel
bonsoir,

je voudrais modifier les formules de calculs suivantes :
.Range("H" & lig + 2).Formula = "=Round(Commande!" & [B3].Address & "*30/100,2)"

A cette formule, je voudrais rajouter : si (b3=0;0; Round(commande.....

.Range("N" & lig + 2).Formula = "=F" & lig + 2 & ("-M" & lig + 2)

A celle la, je voudrais rajouter la formule Arrondi (Round) a 2 chiffres après la virgule.

J'ai essayé plusieurs fois, mais je n'y arrive pas sur ces formules rédigées de cette façon.
Merci de votre aide
 

JNP

XLDnaute Barbatruc
Re : Calcul en vba

Bonsoir Cj Welch :),
Si j'ai suivi, ce devrait être
Code:
.Range("H" & lig + 2).Formula = "=If(b3=0,0,Round(Commande!" & [B3].Address & "*30/100,2))"
et
Code:
.Range("N" & lig + 2).Formula = "=Round(F" & lig + 2 & ("-M" & lig + 2),2)
Bon courage :cool:
 

cj welch

XLDnaute Occasionnel
Re : Calcul en vba

bonsoir jnp

merci de ton aide.

La 1ère formule fonctionne a moitier.
En effet, sur les lignes suivantes on doit prendre les valeurs de ces lignes (inscrite en colonne B).

Quand a la seconde, il y a un méssage d'erreur "Erreur de compilation : attente fin d'instruction".

A+
 

JNP

XLDnaute Barbatruc
Re : Calcul en vba

Re :),
Tu crois que je me souviens de ce que j'ai écrit une semaine avant :p???
Ça devait être du style
Code:
.Range("H" & lig + 2).Formula = "=If(b[B][COLOR=red]" & I & "[/COLOR][/B]=0,0,Round(Commande!" & [B3].Address & "*30/100,2))"
en partant de I =3 et en ajoutant 1 au fur et à mesure... J'avais pas du tenir compte de [B3].Address mais ça devrait donner "$B$" & I.
Pour le 2ème, il me semble qu'il y avait une erreur de syntaxe, et que la bonne formule était
Code:
.Range("N" & lig + 2).Formula = "=Round(F" & lig + 2 & "-M" & lig + 2 & ",2)"
Bon courage :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 871
Membres
103 402
dernier inscrit
regishar