Aide sur macro figer formules

Mi_

XLDnaute Occasionnel
Bonjour le forum,

Pour figer les formules (leur résultat en fait), j'utilise le code

Worksheets.Select
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
ActiveSheet.Select
Application.CutCopyMode = False


Le problème c'est que les chiffres issues des formules figées ont 13 décimales.

Oui, je peux réduire l'affichage à 2 décimales uniquement, mais la cellule va toujours en avoir 13, ce qui m'ennerve. :) D'ailleurs ça mange de l'espace ! :)

Donc, comment faire pour avoir que 2 décimales ?

Merci pour toute idée,
Mi_
 

jeromegmc

XLDnaute Occasionnel
Salut,

Alors je te propose une solution même si je ne la trouve pas très élégante:

La solution serait d'utiliser la fonction 'ARRONDI(tonnombre,nb de décimal dérrière la virgule)' et après de réaliser un collage spéciale de la valeur.

Exemple sous Excel:
=ARRONDI(1.78885438199983,2)
L'affichage excel donnera: 1.79
Et en faisant un collage spécial il ne reste plus que 1.79

Et en VBA ce serait:

Code:
Dim MaVal, MyCells As Range, MaPlage

Set MaPlage = Range('A1:Z100')
For Each MyCells In MaPlage
MaVal = MyCells.Value
MyCells.Value = Round(MaVal, 2)
Next

Attention cependant, fait un test suivant tes cellules, car si ta cellule est vide au départ, après exécution de la macro, la valeur '0' y sera affectée.

A+

Message édité par: jeromegmc, à: 02/12/2005 09:06
 

Mi_

XLDnaute Occasionnel
Bonsoir jeromegmc, le forum,

Avec la solution ARRONDI, il faudrait que je bricole à la main des miliers de cellules avec formules déjà en place. :woohoo:

Par macro, c'est pas possible ? Du gendre effacer le reste des décimales après les deux premières pour toutes les nombres de la feuille ...

En tout cas merci,
Mi_
 

Discussions similaires

Réponses
38
Affichages
4 K

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG