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

Mise en forme chiffres décimaux par macro

Magic_Doctor

XLDnaute Barbatruc
Rebonjour à tous,

Voilà un moment que je ne fais plus de macro et j'ai quelques oublis...

J'ai une colonne de chiffres (que j'ai nommée : "Plage") et je veux leur assigner automatiquement une mise en forme concernant le nombre de décimales qu'ils doivent avoir.
Dans une cellule, supposons A1, se trouve le chiffre indiquant le nombre de décimales.
Supposons que nous ayons A1=2 (donc 2 décimales) :

Plage :
130 --> 130,00
150 --> 150,00
160 --> 160,00

J'ai écrit la routine suivante qui fonctionne :

[Plage].NumberFormat = "0.00"

Je voudrais qu'elle dépende de A1 :
[Plage].NumberFormat = "0." & répéter("0",A1)

Bon, la syntaxe répéter("0",A1) est tout à fait folklorique, mais je pense que vous aurez compris ce que je cherche exactement.

Merci de vos lumières.
 

Magic_Doctor

XLDnaute Barbatruc
Re : Mise en forme chiffres décimaux par macro

Merci Catrice, ça marche presque parfaitement.
Le problème est que si A1=0 (aucune décimale), ça me renvoie :
130,
150,
160,

Subsistent donc les virgules...

J'ai donc fait une petite modification qui résoud ce détail :

If [A1] = 0 Then
[Plage].NumberFormat = "General"
Else
[Plage].NumberFormat = "0." & String([A1].Value, "0")
End If

Bonne soirée.
 

Discussions similaires

Réponses
6
Affichages
455
Réponses
2
Affichages
515
Réponses
3
Affichages
594
Réponses
1
Affichages
758
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…