PB de Point et de virgule!!

palou41

XLDnaute Nouveau
Bonjour le forum je croyais avoir mis au point une methode pour remplacer le point par la virgule dans les cellule d'une feuille de calcul.

VOICI le code

Private Sub Worksheet_Change(ByVal Target As Range)
contenu = Target
Target.FormulaR1C1 = contenu
End Sub


Elle marche a la perfection pour les nombre positif mais si je souhaite rentrer un nombre negatif excel pense que je veux entrer une formule!

exple: -1.5

qqn aurait il rencontrer ce probleme
Merci a tous
 

Guiv

XLDnaute Occasionnel
Re : PB de Point et de virgule!!

Bonjour,

A essayer aussi:

Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Target = Replace(Target, ".", ",")
End Sub

Cela dit, je crois que normalement les points saisis sur Xcel sont automatiquement transformés en virgule en format nombre.
Sinon voir aussi Outils/Options/Orthographe/Options de correction automatique

Bon après-midi
 

LPandre

XLDnaute Impliqué
Re : PB de Point et de virgule!!

Re bonjour sinon essaie ça :

Sub Toto()

Cells.Select
Selection.Replace What:=".", Replacement:=","

Range("A1").Select

End Sub

NB : Qui n'est que l'enregistrement VBA de ma précédente suggestion.

Cordialement
 

Pierrot93

XLDnaute Barbatruc
Re : PB de Point et de virgule!!

Bonjour,

une autre solution, à tester dans ta configuration, utilisation des événements "selectionchange" et "change".

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target.Value = Replace(Target.Value, ".", ",")
Target.NumberFormat = "#,##0.00"
Target.TextToColumns
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Target.NumberFormat = "@"
End Sub

bonne fin d'après midi
@+
 

palou41

XLDnaute Nouveau
Re : PB de Point et de virgule!!

merci a vous

j'ai retenu la solution de pierrot93 qui marche bien

j'ai rajouter un on error exit sub car ceci generait une erreur macro lorsque l'on voulait effacer le contenu d'une plage de cellule

Merci encore
 

Pierrot93

XLDnaute Barbatruc
Re : PB de Point et de virgule!!

Re

pour eviter l'erreur en cas de suppression multiple essaye comme ceci

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
Target.Value = Replace(Target.Value, ".", ",")
Target.NumberFormat = "#,##0.00"
Target.TextToColumns
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Target.NumberFormat = "@"
End Sub

bonne soirée
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 428
Messages
2 088 333
Membres
103 817
dernier inscrit
Leberger