Remplacement d'un point par une virgule

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 !

elgringo123456

XLDnaute Occasionnel
Supporter XLD
😕

Bonjour,

Je vous sollicite sur le problème suivant : je cherche à remplacer un point par une virgule.

Dans l'exemple joint le code en vba n'effectue pas ce remplacement alors qu'en réalisant un rechercher / remplacer (CTRL + H) sur la barre de menu et en réalisant cette action cela fonctionne.

J'ai également essayé de changer le format de la cellule A1 mais rien n'y fait.

Auriez-vous une suggestion ?

Merci d'avance de votre aide
Cordialement.
El Gringo 123456
 

Pièces jointes

Re : Remplacement d'un point par une virgule

Bonjour El Gringo

L'enregistreur de macros me donne ce code:
Code:
 Cells.Replace What:=",", Replacement:=".", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Sinon tu peux essayer de faire le contraire (Attention aussi aux paramètres régionnaux).
 
Re : Remplacement d'un point par une virgule

Bonjour MJ13,

Je reviens sur le sujet car je n'arrive toujours pas à réaliser ce remplacement. En effet, comme tu me l'as indiqué ce problème est lié au paramètres régionaux. Pour faire fonctionner ce remplacement je suis obligé de changer les paramètres régionaux (passage de la "," au "."). Pour des raisons de commodités, je souhaiterais réaliser ce remplacement sans à chaque changer les paramètres régionaux.

Contrainte : je ne peux pas modifier le programme source me permettant d'obtenir ces valeurs avec des "."

Ce qui est étrange c'est en réalisant l'action "à la main" c'est à dire en selectionnant 2 cellules, puis CTRL + H, puis en saisissant ",", puis en saisissant ".", puis "remplacer tout" => Cela fonctionne.

Je suis complètement bloqué car même en utilisant valeur absolue je n'arrive pas à sélectionner 91 de 91,62 (séparateur de milliers ?)

Auriez-vous une astuce sur ce sujet ?

Je m'en remets à vous,
Cordialement.
El gringo 123456
 

Pièces jointes

Re : Remplacement d'un point par une virgule

Re El Gringo

Sachant que moi, quand j'ouvre ton fichier, il me met une virgule (j'ai la virgule dans les paramètres régonaux).

Sinon habitue toi à mettre tes chiffres en alignement standard, comme cela tu vois tout de suite si tu as des chiffres (qui se mettent à gauche) ou du texte (qui se placent à droite).

Et toi tu as quoi en paramètres régionnaux (le point ou la virgule)?
 
Re : Remplacement d'un point par une virgule

Allô!

Le séparateur décimal est tributaire des paramètres régionaux de la machine.

Si on ouvre un chiffrier sur un premier ordinateur dont le séparateur décimal, aux paramètres régionaux, est le point (.), les chiffres avec une décimale auront le point (12.45). Si on y force la virgule (12,45), 12,45 sera considéré comme du texte, pas comme un nombre.

À l'inverse, si on ouvre un chiffrier sur un deuxième ordinateur dont le séparateur décimal, aux paramètres régionaux, est la virgule (,), les chiffres avec une décimale auront une virgule (12,45). Si on y force le point (12.45), 12.45 sera considéré comme du texte, pas comme un nombre.

En résumé, si on ouvre le même chiffrier sur l'un comme sur l'autre, le séparateur décimal des chiffres va s'adapter automatiquement. Donc, sur la première machine les chiffres se présenteront comme 12.45 et sur l'autre 12,45 tout en restant considérés comme des chiffres.

Note : Si on utilise le "point" du pavé numérique pour saisir le caractère décimal d'un chiffre, Excel va convertir la saisie de ce caractère en point (.) ou en virgule (,) pour s'adapter au séparateur décimal des paramètres régionaux de la machine.

Perdrix
 
Dernière édition:
Re : Remplacement d'un point par une virgule

Allô!

Disons que tu as des macros qui saisissent des chiffres avec un séparateur décimal et qu'Excel interprète ces saisies comme du texte sur certaines machines au moment où la macro s'exécute.

Il faut dans ce cas, au début de la macro, faire détecter le séparateur décimal de la machine et en tenir compte dans le code avec une condition.

Si c'est le cas, il sera facile de t'aider à modifier ce code.

Perdrix
 
Re : Remplacement d'un point par une virgule

Hello,

Ca y est promis j'arrete de vous embeter mais pour ceux un jour qui aurait ce problème voici le code en vba permettant de remplacer une "," par un "." avec une problématique de paramétres régionaux.

Sub principal2()
Dim val1, Longueur, i As Integer
Dim al2 As Double
Dim Chiffre As String

Cells(4, 1).Select
Selection.NumberFormat = "@"
Chiffre = Replace(Cells(1, 1).Value, ",", ".")
Cells(4, 1) = Chiffre
End Sub


Et vive Excel Download => Merci encore de m'avoir bien aiguillé pour la solution !!!
Cordialement.
El Gringo 123456
 
- 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

Discussions similaires

Retour