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

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
 

Discussions similaires

Réponses
2
Affichages
173
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…