Code vba pour mettre une formule dans une cellule

jlbox

XLDnaute Nouveau
Bonsoir,

Je recherche un code vba qui met une formule (addition, division, etc...) dans la cellule voisine à chaque fois qu'il y a un contenu dans la cellule précédente. Je m'explique, j'ai dans la colonne A les éléments suivants :

A1 : 10
A2 : 15
A3 : 40
A4 : 5
A5 : la cellule vide

Je recherche un code VBA qui mette dans la colonne B le résultat d'une addition ou autre formule

B1 : 100 (formule A1*10)
B2 : 150 (formule A2*10)
B3 : 400 (formule A3*10)
B4 : 50 (formule A4*10)
B5 : pas de résultat car la cellule A5 est vide

J'espère que mes explications sont assez claires.

Merci du coup de main.
 

meldja

XLDnaute Impliqué
Re : Code vba pour mettre une formule dans une cellule

Bonjour,
Pas besoin de code VBA, tu peux simplement faire une formule en colonne B :
=si(estvide(A1);"";A1*10)
a tiré vers le bas.

Je ne sais pas si ça répond à ta question ?
Bonne journée
 

jlbox

XLDnaute Nouveau
Re : Code vba pour mettre une formule dans une cellule

Bonjour meldja,

merci pour ta réponse mais j'aimerai automatiser cela par un code vba car ma colonne A correspond à une extraction qui se répétera régulièrement pour des raisons de mise à jour. En complément du premier message, une autre formule dans la colonne C sur le même principe....
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Code vba pour mettre une formule dans une cellule

Bonjour le fil, bonjour le forum,

En VBA la méthode pour renvoyer le calcul d'une formule est :
Code:
Application.WorksheetFunction.
plus la formule et les arguments qui conviennent. Par exemple,

Code:
Range("A10") = Application.WorksheetFunction.Max(Range("A1:A9")) * 12
renvoie en A10 la plus grande valeur de la plage A1:A9 multipliée par 12.

Je ne vois pas bien ce que tu veux dire par B1 : 100 (formule A1*10) mais si tu désires juste un produit, Meldja a raison, pas besoin de VBA...
 

meldja

XLDnaute Impliqué
Re : Code vba pour mettre une formule dans une cellule

Re,
Dim i as integer
dim x as integer
x = Range("A65536").End(XlUp).Row
For i = 1 to x
If Range("A"& x) > 0 Then
Range("B" & x) = Range("A" & x)*10
Range("C" & x) = Range("A" & x)+5
End If
Next i

Pour exemple, en colonne C, j'ai mis + 5, mais tu peux mettre ce que tu veux.
Code à lier à un bouton pour l'exécuter.
Bonne journée
 

meldja

XLDnaute Impliqué
Re : Code vba pour mettre une formule dans une cellule

Désolé, je me suis planté (je viens de le remarquer en testant), remplace certains x par i, comme ça :
Dim i As Integer
Dim x As Integer
x = Range("A65536").End(xlUp).Row
For i = 1 To x
If Range("A" & i) > 0 Then
Range("B" & i) = Range("A" & i) * 10
Range("C" & i) = Range("A" & i) + 5
End If
Next i

Bonne journée
 

Statistiques des forums

Discussions
314 656
Messages
2 111 607
Membres
111 218
dernier inscrit
Jean-Kev