Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro d'importation de fichier texte+remplacement de charactères

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 !

technopere

XLDnaute Nouveau
Bonjour,

J'utilise une macro pour l'importation d'un fichier .txt . Malheureusement les chiffres à virgules sont notés avec des points et ce n'est donc pas utilisable pour des tableaux.
Avez vous une idée de comment modifier le code afin qu'il remplace automatiquement les points par des virgules lors de l'importation :


Code:
Sub DETAILS_COOP()
Dim Chemin As String
Dim Fichier As String
Dim Texte As String
Dim Sep As String
Dim X As Long
Dim Sh As Worksheet
Dim A As Long, B As Integer

'-------Variable à définir-------
'où est situé ton fichier
Chemin = Range("D10").Value
Sep = vbTab
'Le nom de la feuille du classeur où seront copiées les données
Set Sh = ThisWorkbook.Worksheets("data COOP")
'---------------------------------
'nom de ton fichier texte
Fichier = "data.txt"
' le séparateur employé dans ton fichier texte
B = NombreColonnes(Chemin & Fichier, vbTab)
Sh.Range("A1:B" & B).EntireColumn.NumberFormat = "@"
X = FreeFile
If Dir(Chemin & Fichier) <> "" Then
    Open Chemin & Fichier For Input As #X
    Do While Not EOF(X)
        Input #X, Texte
        If Texte <> "" Then
            t = Split(Texte, Sep)
            A = A + 1
            Sh.Range("A" & A).Resize(, UBound(t, 1) + 1) = t
         End If
    Loop
    Close #X
End If
derlig = Sh.Range("A" & Cells.Rows.Count).End(xlUp)(2).Row
Sh.Range("A" & derlig, "A" & Cells.Rows.Count).EntireRow.Delete
End Sub
'---------------------------------
Function NombreColonnes(Fichier As String, Sep As String)

Dim A As String, B As Integer
Open Fichier For Input As 2
Do While Not EOF(2)
    Input #2, A
    If A <> "" Then
        Exit Do
    End If
Loop
Close
NombreColonnes = _
    Len(A) - Len(WorksheetFunction.Substitute(A, Sep, "")) + 1
End Function


D'avance un grand merci !
 
Re : Macro d'importation de fichier texte+remplacement de charactères

Pour ceux qui sont interessé voici une solution :

Sh.Select
Columns("A:Z").Select
Selection.Replace What:=".", REPLACEMENT:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
 
Re : Macro d'importation de fichier texte+remplacement de charactères

Hum, le remplacement des virgules par des points et vice versa n'est pas si simple, voici le code à utiliser :

Sh.Select
Columns("A:Z").Select
Selection.Replace What:=".", REPLACEMENT:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
 
- 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

Réponses
2
Affichages
337
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…