Remplacer une "," par un "."

  • Initiateur de la discussion Initiateur de la discussion mikael2403
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

mikael2403

Guest
Bonjour à tous,

Pourquoi la méthode ci-dessous ne fonctionne pas ?

Private Sub Worksheet_Change(ByVal Target As Range)
Cells.Replace What:=",", Replacement:=".", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False
End Sub

Je voudrais remplacer une virgule par un point dans la cellule AG22 et que la modification se fasse dès que je sors de la cellule.

Merci pour votre aide.
 
Re : Remplacer une "," par un "."

Re Mikael

Private Sub Worksheet_Change(ByVal Target As Range)
If KeyAscii = 44 Then KeyAscii = 46 'remplace la virgule par le point
End Sub

excuses moi j'avais pas fais gaffe là c'est quand la feuille change alors que il y a 5 minute je t'ai donné pour la sélection !!
a+
Papou
 
Re : Remplacer une "," par un "."

Bonjour papou,

Merci pour ta réponse.
J'avais déjà essayé aussi cette méthode mais ça ne change rien à ma cellule.
Ma cellule est fusionnée, y a t-il un impact ?
Est-ce que le format de ma cellule peut rester en standard ou dois-je le changer ?

Quand j'entre 5,12345 via le clavier numérique, la virgule n'est pas modifiée par un point.

Merci.
 
Re : Remplacer une "," par un "."

Bonjour mikael2403,

Tu peut essayer ceci, (ça change le séparateur de décimal)

Excel 2003:

Menu 'outils', 'options', Onglets 'International',

et place un point dans la case Séparateur de décimal.

bonne chance.

LF4000

P.S. moi j'ai déjà réglé un problème dans mon projet de cette façon...
 
Re : Remplacer une "," par un "."

bonjour le fil as tu essaye comme cela !!!
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("ag22")) Is Nothing Then
Cells.Replace What:=",", Replacement:="."
End If
End Sub
 
Re : Remplacer une "," par un "."

Bonjour LF4000, bonjour excalibur,

La solution d'excalibur ne fonctionne pas non plus. J'ai toujours une virgule qui s'affiche.

La solution de LF4000 fonctionne correctement. Cependant, mon projet sera sur un serveur en réseau et plusieurs utilisateurs pourront y accéder. Est-ce que cette fonction ne s'applique-t-elle pas que sur l'excel que l'on paramètre ou l'option est enregistré sur le fichier en lui même ?

Mikael
 
Re : Remplacer une "," par un "."

Bonsoir Mikael2403, le fil
Selon ce que tu cherches à faire, en format texte ça marche :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("AG22")) Is Nothing Then

Target.NumberFormat = "@"
Target = Replace(Target, ",", ".")

End If
End Sub


Bonne soirée
Guiv
 
Re : Remplacer une "," par un "."

Re,
Ou peut-être pour faire fonctionner la solution de LF4000 pour tous ceux qui ouvrent le fichier, à placer dans WorkBook_Open :

With Application
.DecimalSeparator = "."
.ThousandsSeparator = " "
.UseSystemSeparators = False
End With


et annuler en WorkBook_BeforeClose

(merci l'enregistreur de macros...)

Guiv
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
501
Réponses
1
Affichages
343
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
2
Affichages
586
Retour