Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 

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 ???
Ç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
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…