[VBA] opération mathématique (produit)

swan

XLDnaute Junior
Bonjour,

je cherche à écrire une macro équivalente à la formule suivante:

=TEXTE(A1*1000;"0000000")

Par exemple, en A1 j'ai 2,9 et ça donne grâce à cette formule: 0002900

Merci!
 

swan

XLDnaute Junior
Re : [VBA] opération mathématique (produit)

Merci du coup de pouce pierrejean!

J'ai écrit ma macro de cette manière et ça marche:

Sub test()

Cells(1, 3) = Format(Range("A1") * 1000, "0000000")
Cells(1, 3).NumberFormat = "@" 'cellule au format texte

End Sub

4,5 me donne 0004500

Par contre, je veux que ça soit applicable pour un nombre indéfini de données.
Par exemple:

toto
1,8
9,3
7,5
15,7
9,63
7,2
489,3
4,596
2,3
48,27

--->

0001800
0009300
0007500
0015700
0009630
0007200
0489300
0004596
0002300
0048270

...en utilisant la macro suivante:

Sub test()

Dim n As Long
n = Range("A65536").End(xlUp).Row
For x = 2 To n
Cells(x, 3) = Format(Range("A2:A" & n) * 1000, "0000000")
Cells(x, 3).NumberFormat = "@" 'cellules au format texte
Next

End Sub

petit problème ça marche pas comme je veux. Ce qui est en rouge, ça bloque
apparement. Mais quand je met Range("A2") à la place ça marche.

Comment y arriver?
 

CelluleVide

XLDnaute Occasionnel
Re : [VBA] opération mathématique (produit)

Bonjour Swan et Pierrejean,

Pierrejean aura surement trouvé la solution avant moi mais essaies quand meme ce code:

Sub test()
Dim n, x As Long
n = Range("A65536").End(xlUp).Row

For x = 2 To n
Cells(x, 3) = Format(Range("A" & x) * 1000, "0000000")
Cells(x, 3).NumberFormat = "@" 'cellules au format texte
Next x

End Sub
 

Statistiques des forums

Discussions
312 908
Messages
2 093 482
Membres
105 742
dernier inscrit
BTyBGT