[VBA] Forcer format d'une plage de cellule en "Nombre"

Bonjour,

j'ai une plage de cellule contenant des nombres, mais ces cellules sont au format texte ("Standard").

je souhaite avoir cette plage au format nombre.

En cherchant sur le net, j'ai trouvé l'astuce : Faire un Copier d'une cellule contenant la valeur "1", puis Collage spécial en choisissant Multiplier.

Ceci fonctionne lorsqu'on le fait manuellement.

J'ai donc utilisé l'enregistreur de macro afin d'automatiser cette tâche, que je vais avoir à faire sur plusieurs feuilles.

Cependant, en exécutant la macro, cela ne fonctionne plus : la plage reste au format "Standard"...

Je ne comprends pas vraiment pourquoi le résultat est différent.... Quelqu'un peut m'aider ?

Sub Macro1()

Range("D1").FormulaR1C1 = "1"
Range("D1").Copy
Range("A1:C10").PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
    SkipBlanks:=False, Transpose:=False
Range("D1").Clear

End Sub
47piratman.xlsm (16.10 Ko)

Bonsoir

Si tu en d'autres comme ça il faut les garder

Mystères de l'informatique

Testes ça

Sub test()
  Range("A1:C10").Replace what:=",", replacement:=".", lookat:=xlPart
End Sub

Bonsoir Banzai64,

merci pour le bout de code, cela fonctionne.

Par contre si quelqu'un tombe sur ce sujet et a une explication de pourquoi le 1er code ne marche pas,

ça m'intéresse ! Ca me laisse un gout d'inachevé

A+

Rechercher des sujets similaires à "vba forcer format plage nombre"