[VBA]Changement de format sans demande

Kiseki

XLDnaute Occasionnel
Bonjour,

J'ai une cellule qui prend la valeur d'une autre.

Pourquoi ceci :
Code:
fd.Cells(ligne, 3) = Round(main.Range("C11"), 2)

Me change le format de cellule en monétaire et que ceci :

Code:
fd.Cells(ligne, 3) = main.Range("C11")

Fonctionne bien et me garde le format comptabilité ?


Un moyen de régler ceci ?



Merci,
 

Etienne2323

XLDnaute Impliqué
Re : [VBA]Changement de format sans demande

Salut Kiseki,
tu n'as qu'à ajouter ceci :

Code:
fd.Cells(ligne, 3) = Format(Round(main.Range("C11"), 2),"le format désiré")

Sinon, tu peux également ajouter une ligne et lui dicter le format :

Code:
fd.Cells(ligne, 3).NumberFormat = "Format désiré"

Cordialement,

Étienne
 

Kiseki

XLDnaute Occasionnel
Re : [VBA]Changement de format sans demande

Bonjour Etienne,


Merci mais je voudrait le format comptabilité, si j'entre ce format il n'aime pas avec format().

Il devrait y avoir une solution sans devoir lui donner le format, non ? Je n'ai pas trop envie non plus de recopier le format de la donnée juste au dessus (ensemble de données aux format comptabilité)
 

Etienne2323

XLDnaute Impliqué
Re : [VBA]Changement de format sans demande

Salut Kiseki,
chez moi, le format comptabilité est le suivant :

Code:
"_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"

Ainsi, la ligne suivante devrait faire le travail :
Code:
fd.Cells(ligne, 3) = Format(Round(main.Range("C11"), 2),"_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)")

À tester bien sûr.

Tu peux essayer avec l'enregistreur de macro. Il te donnera l'écriture exacte pour le format souhaité.

Cordialement,

Étienne
 

Kiseki

XLDnaute Occasionnel
Re : [VBA]Changement de format sans demande

Bonjour Etienne,


Merci je ne pensait plus à l'enregistreur de macro.

Et donc [RANGE].style = "Currency"


Car il n'apprécie pas plusieurs guillemet dans un format(), et sans ça le fait pas non plus.
 

Discussions similaires