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

Signaler
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
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

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
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.
Bonjour,
merci pour votre réponse, je prend note et je vais essayer de m'en sortir en changeant le format des cellules.
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
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.
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
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