[Catégorie modifiée .Net -> VBA] problème ouvrir fichier .txt

shotu3 - 3 déc. 2012 à 14:43
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 4 déc. 2012 à 14:57
Bonjour à tous,
j'espère avoir posté ma question sur le bon forum.
Et j'espère surtout que vous pourrez m'aider.
Voici mon problème :
J'ai réalisé une macro sous excel dans laquelle je voudrais remplacer dans un fichier texte les virgules par des points.
Normallement j'ai la macro qu'il faut mais lorsque la macro ouvre le fichier les virgules n'apparaissent plus dans une des colonnes du fichier. En gros, au lieu d'avoir 99,325 je me retrouve avec 99325, il n'y a plus de séparateur. Et ceci seulement sur une colonne.
Peut être que j'ouvre mal le fichier, voici comment je procède :

Dim nb_File As Integer
DataFile = Application.GetOpenFilename("Texte File (*.xls), *.xls", , "Select data files", , True)
If UBound(DataFile) <> 0 Then
nb_File = UBound(DataFile)
End If

For i = 1 To nb_File

Workbooks.Open DataFile(i)
Data_Workbook = ActiveWorkbook.Name

Workbooks(Data_Workbook).Activate
colonne = 2
ligne = 18
nb_ligne = 511

Workbooks(Data_Workbook).ActiveSheet.Range(Cells(ligne, colonne), Cells(ligne + nb_ligne, colonne)).Select
Cells.Replace What:=",", Replacement:=".", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Workbooks(Data_Workbook).Close SaveChanges:=True

Next i

Merci d'avance ;-)

5 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
3 déc. 2012 à 17:12
Bonjour,
Non, tu n'es pas dans la bonne section.
Tu es ici dans la section
Forum > VB.NET et VB 2005

VB.Net n'a rien à voir avec VBA
Cette discussion aurait dû être ouverte dans la section Langages dérivés > VBA/. Prends-en bonne note pour tes prochaines discussions (c'est important).

Pour en venir à ton problème. Ce n'est pas une question de modification par replace de la virgule en point, mais une question de format de tes cellules, qu'il te faut donc modifier au lieu de tenter de remplacer.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Bonjour,
merci pour votre réponse, je prend note et je vais essayer de m'en sortir en changeant le format des cellules.
0
Re,
Désolé, je ne m'en sort pas.
Pourquoi le format change seulement sur une colonne?
Et comment puis-je retrouver où était la virgule dans la colonne où je l'ai perdu?
Merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 déc. 2012 à 10:52
Il faudrait, pour pouvoir te répondre avec exactitude, répondre en parfaite connaissance de cause, à savoir :
- voir ton fichier CSV
- savoir comment est, sur TA machine, formatée la colonne en cause
- savoir si, sur TA machine, le séparateur décimal est le ou la virgule
Ces TROIS réponses sont indispensables

Question subsidiaire : d'où provient ton fichier CSV ?
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
4 déc. 2012 à 14:57
Fais des recherches aussi sur Open, LOF, ...
Il n'y a aucun besoin d'ouvrir dans Excel selon ce que je peux comprendre et ce serait plus rapide.


MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous