[Visual Basic] Remplacer virgules par points
Résolu
sebM
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
sebM Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
sebM Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai déjà vu sur les forums que certains avaient déjà remarquer que:
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ne fonctionne pas pour remplacer les virgules par des points sur des données Excel.
J'ai donc mis le point comme séparateur de décimal par défaut:
With Application
.DecimalSeparator = "."
.ThousandsSeparator = " "
.UseSystemSeparators = False
End With
Cela remplace bien sur ma feuille Excel les virgules par des points. Le problème est que je veux recupérer certaines données dans des fichiers .in
J'utilise:
With MonFic
i = 16
While Not Range("AF" & i).Value = ""
nom = Range("AF" & i).Value
valeur = Range("AG" & i).Value
.write (nom)
.write (" ")
.writeLine (valeur)
i = i + 1
Wend
End With
Et dans le fichier crée ("MonFic"), les virgules sont utilisées comme séparateur décimale et non les points ( alors que dans les cellules lues, c'est bien un point qui est utilisé).
Donc si vous avez des idées pour que je puisse créer un fichier.in avec des points comme séparateurs et non des virgules, n'hésitez pas à proposer.
Merci d'avance,
j'ai déjà vu sur les forums que certains avaient déjà remarquer que:
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ne fonctionne pas pour remplacer les virgules par des points sur des données Excel.
J'ai donc mis le point comme séparateur de décimal par défaut:
With Application
.DecimalSeparator = "."
.ThousandsSeparator = " "
.UseSystemSeparators = False
End With
Cela remplace bien sur ma feuille Excel les virgules par des points. Le problème est que je veux recupérer certaines données dans des fichiers .in
J'utilise:
With MonFic
i = 16
While Not Range("AF" & i).Value = ""
nom = Range("AF" & i).Value
valeur = Range("AG" & i).Value
.write (nom)
.write (" ")
.writeLine (valeur)
i = i + 1
Wend
End With
Et dans le fichier crée ("MonFic"), les virgules sont utilisées comme séparateur décimale et non les points ( alors que dans les cellules lues, c'est bien un point qui est utilisé).
Donc si vous avez des idées pour que je puisse créer un fichier.in avec des points comme séparateurs et non des virgules, n'hésitez pas à proposer.
Merci d'avance,
A voir également:
- Vba remplacer point par virgule
- Remplacer disque dur par ssd - Guide
- Remplacer par word - Guide
- Point de suite word - Guide
- Point de restauration - Guide
- Remplacer coco - Accueil - Réseaux sociaux
4 réponses
Bonjour,
Pour résoudre ton problème, utilise une autre syntaxe.
D'abord ouvrir le fichier Monfich en écriture:
Ensuite écrire les données dans Monfich:
Salut.
Pour résoudre ton problème, utilise une autre syntaxe.
D'abord ouvrir le fichier Monfich en écriture:
Open Monfich for Output as #1
Ensuite écrire les données dans Monfich:
i = 16 While Not Range("AF" & i).Value = "" nom = Range("AF" & i).Value valeur = Range("AG" & i).Value Print #1, nom ; " " ; valeur i = i + 1 Wend Close #1
Salut.
Et bien, cela ne marche tjs pas. Maintenant, j'utilise:
Private Sub CommandButton1_Click()
With Application
.DecimalSeparator = "."
.ThousandsSeparator = " "
.UseSystemSeparators = False
End With
adresse = Range("AD11").Value
Fichier = Range("AF11").Value
Open adresse & Fichier For Output As #1
i = 16
While Not Range("AB" & i).Value = ""
nom = Range("AB" & i).Value
valeur = Range("AC" & i).Value
Print #1, nom; " "; valeur
i = i + 1
Wend
Close #1
Msg = "Écriture réussie dans " & adresse & Fichier
MsgBox (Msg)
Mais dans le fichier crée, les nombres sont encore écrits avec des virgules et non des points. Donc si vous avez d'autres idées.
Merci,
Private Sub CommandButton1_Click()
With Application
.DecimalSeparator = "."
.ThousandsSeparator = " "
.UseSystemSeparators = False
End With
adresse = Range("AD11").Value
Fichier = Range("AF11").Value
Open adresse & Fichier For Output As #1
i = 16
While Not Range("AB" & i).Value = ""
nom = Range("AB" & i).Value
valeur = Range("AC" & i).Value
Print #1, nom; " "; valeur
i = i + 1
Wend
Close #1
Msg = "Écriture réussie dans " & adresse & Fichier
MsgBox (Msg)
Mais dans le fichier crée, les nombres sont encore écrits avec des virgules et non des points. Donc si vous avez d'autres idées.
Merci,