Convertir virgule en point VBA
Résolu
SavePilo
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
SavePilo Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
SavePilo Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
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
- Quel site pour remplacer coco - Accueil - Réseaux sociaux
7 réponses
si tu n'as pas d'autres virgules dans le document que celles des nombres décimaux, tu peux ouvrir ton fichier .txt avec bloc-notes, puis tu vas dans edition/remplacer (Ctrl+H)
dans rechercher tu met le signe virgule, dans remplacer tu met le point, puis tu clique sur remplacer tout.
ATTENTION : ne marche pas si tu as aussi des virgules qui ne correspondent pas aux nombres décimaux mais à du texte.
PS : as-tu vérifié que parmis tous les formats sous lesquels exel te permet d'enregistrer les fichiers (dans enregistrer sous), il n'y en a pas un qui convienne?
dans rechercher tu met le signe virgule, dans remplacer tu met le point, puis tu clique sur remplacer tout.
ATTENTION : ne marche pas si tu as aussi des virgules qui ne correspondent pas aux nombres décimaux mais à du texte.
PS : as-tu vérifié que parmis tous les formats sous lesquels exel te permet d'enregistrer les fichiers (dans enregistrer sous), il n'y en a pas un qui convienne?
Bonjour,
Le problème vient du fait que, sous Excel, tu ne remplaces pas les virgules par des points, mais change ton séparateur décimal.
Ainsi lorsque tu lances ta macro, le point est reconnu comme séparateur décimal.
Pour remplacer les virgules par des points utilise la fonction Excel Remplacer (accessible depuis ta feuille par le raccourci clavier CTRL+H).
Essaie comme cela et reviens nous indiquer si cela a fonctionné.
Le problème vient du fait que, sous Excel, tu ne remplaces pas les virgules par des points, mais change ton séparateur décimal.
Ainsi lorsque tu lances ta macro, le point est reconnu comme séparateur décimal.
Pour remplacer les virgules par des points utilise la fonction Excel Remplacer (accessible depuis ta feuille par le raccourci clavier CTRL+H).
Essaie comme cela et reviens nous indiquer si cela a fonctionné.
J'ai oublié de précisé que j'aimerai éviter de faire "remplacer tout" manuellement.
J'airai aimé lancé le programme et obtenir directement le fichier texte utilisable dans SolidWorks.
Je cherche à automatisé le travail pour que d'autres puissent l'utiliser sans se tromper et plus rapidement...
Peux-tu expliquer plus en détail cette questions ?
"PS : as-tu vérifié que parmis tous les formats sous lesquels exel te permet d'enregistrer les fichiers (dans enregistrer sous), il n'y en a pas un qui convienne?"
L'idée que tu sous entends est d'enregistrer mon fichier Excel sous un autre format pour pouvoir l'utiliser directement dans SolidWorks?
Merci en tout cas pour ce début de proposition!
J'airai aimé lancé le programme et obtenir directement le fichier texte utilisable dans SolidWorks.
Je cherche à automatisé le travail pour que d'autres puissent l'utiliser sans se tromper et plus rapidement...
Peux-tu expliquer plus en détail cette questions ?
"PS : as-tu vérifié que parmis tous les formats sous lesquels exel te permet d'enregistrer les fichiers (dans enregistrer sous), il n'y en a pas un qui convienne?"
L'idée que tu sous entends est d'enregistrer mon fichier Excel sous un autre format pour pouvoir l'utiliser directement dans SolidWorks?
Merci en tout cas pour ce début de proposition!
Bonjour a tous,
Remettez votre option "Utiliser les séparateurs système", laissez la saisie separateur en virgule et:
par contre le fichier en Append ?????
Remettez votre option "Utiliser les séparateurs système", laissez la saisie separateur en virgule et:
Sub creer_TXT()
Dim Chemin As String
Dim DerniereLigne As Long 'Index de la dernière ligne
Dim Ligne As Long
Chemin = "C:\Users\User\Desktop\"
DerniereLigne = Range("A1").SpecialCells(xlCellTypeLastCell).Row
'Création du tableau par une boucle
'Ecrit dans le fichier txt
Ligne = 1
Do While Ligne <= DerniereLigne
Open Chemin & "Temporaire.txt" For Append As #Ligne
Print #Ligne, Replace(Range("A" & Ligne).Value, ",", ".") & vbTab & Replace(Range("B" & Ligne).Value, ",", ".") & vbTab & Replace(Range("C" & Ligne).Value, ",", ".") & vbCrLf
Close
Ligne = Ligne + 1
Loop
MsgBox ("c'est ok")
End Sub
par contre le fichier en Append ?????
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je viens de tester le code et ça fonctionne : c'est merveilleux :-)
Je chercherai à comprendre tout ca lundi matin car je n'ai plus le temps aujourd'hui mais merci mille fois!
Par contre, je n'ai pas compris la question "par contre le fichier en Append ?????".
Bon WE et merci encore.
Je chercherai à comprendre tout ca lundi matin car je n'ai plus le temps aujourd'hui mais merci mille fois!
Par contre, je n'ai pas compris la question "par contre le fichier en Append ?????".
Bon WE et merci encore.
Re,
Les fichier en Append sont en general reserves a l'ajout d'enregistrements aux fichiers existant en les reouvrants. Si ce n'est pas votre cas ouvrir le fichier en Output
il y a un saut de ligne en fin ???????
Les fichier en Append sont en general reserves a l'ajout d'enregistrements aux fichiers existant en les reouvrants. Si ce n'est pas votre cas ouvrir le fichier en Output
Sub creer_TXT()
Dim Chemin As String
Dim DerniereLigne As Long 'Index de la dernière ligne
Dim Ligne As Long
Chemin = "C:\Users\User\Desktop\"
DerniereLigne = Range("A1").SpecialCells(xlCellTypeLastCell).Row
'Ecrit dans le fichier txt
Open Chemin & "Temporaire.txt" For Output As #1
For Ligne = 1 To DerniereLigne
Print #1, Replace(Range("A" & Ligne).Value, ",", ".") & vbTab & Replace(Range("B" & Ligne).Value, ",", ".") & vbTab & Replace(Range("C" & Ligne).Value, ",", ".") & vbCrLf
Next Ligne
Close
MsgBox ("c'est ok")
End Sub
il y a un saut de ligne en fin ???????