Problème de format txt -> xls

Problème de format txt -> xls - VB/VBA/VBS - Programmation

Marsh Posté le 24-08-2012 à 15:39:29    

Bonjour,  
 
J'ai une macro dont l'un des objectifs est de transformer en fichier .xls un fichier .txt
 
Voici le code, très court :  
 

Code :
  1. Sub Importation_donnees_sources()
  2. Dim chemin_fich As String
  3. Dim nom_fichier As String
  4. Dim chemin_save As String
  5. Dim i, j As Long
  6.  
  7.    
  8. 'On va chercher dans la feuille les informations fournies par l'utilisateur :
  9. ' - le chemin réseau où sont rangés les fichiers :
  10.      chemin_fichier = Sheets("Résultat" ).Range("B4" ).Value
  11. ' - le nom du fichier à convertir :
  12.      nom_fichier = Left(Sheets("Résultat" ).Range("B5" ).Value, Len(Sheets("Résultat" ).Range("B5" ).Value) - 4)
  13. ' - l'endroit où devra être enregistré le fichier une fois converti
  14.      chemin_save = Sheets("Résultat" ).Range("B6" ).Value
  15. 'On va chercher les données dans le fichier source indiqué par l'utilisateur
  16.     Workbooks.Open Filename:=chemin_fichier & "\" & nom_fichier ' & ".txt"
  17. 'On enregistre le fichier avec le nom correspondant au fichier .txt qui était en entrée
  18.     ActiveWorkbook.SaveAs Filename:=chemin_save & "\" & nom_fichier & ".xls", FileFormat:=xlNormal
  19. 'On supprime toutes les lignes vides
  20. i = 2
  21. While Not (ActiveWorkbook.Sheets(nom_fichier).Cells(i, 1).Value = "" And ActiveWorkbook.Sheets(nom_fichier).Cells(i + 1, 1).Value = "" And ActiveWorkbook.Sheets(nom_fichier).Cells(i + 2, 1).Value = "" )
  22.     If ActiveWorkbook.Sheets(nom_fichier).Cells(i, 1).Value = "" Then
  23.         ActiveWorkbook.Sheets(nom_fichier).Rows(i).Delete
  24.     Else
  25.         i = i + 1
  26.     End If
  27. Wend
  28. 'On ferme le fichier
  29.     ActiveWorkbook.Close savechanges:=True
  30. End Sub


 
Le problème :
Quand le fichier txt contient des valeurs du type "4951016,172", c'est "4951016172" qui est enregistré dans le fichier Excel. A mon grand désarroi, puisque ma macro ne travaille pour le moment pas du tout sur les virgules ou autre.
 
Je précise que le fichier source contient bien des virgules et non des points.
 
Y'en a t-il parmi vous qui se sentent inspirés ?  

Reply

Marsh Posté le 24-08-2012 à 15:39:29   

Reply

Marsh Posté le 27-08-2012 à 18:10:14    

Salut,
Il faut peut-être que tu spécifies que ton séparateur du fichier texte n'est pas la virgule.
Essaie d'ouvrir ton fichier txt en spécifiant le paramètre "format" de Workbooks.Open

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed