remplacer point par virgule dans une macro

  • Initiateur de la discussion vbadébutante
  • Date de début
V

vbadébutante

Guest
bonjour,
Je débute en vba et j'ai eu beau chercher (sans doute mal) sur les forums et divers sites, je n'ai pas trouvé réponse à mon problème - merci d'avance à celui/celle qui pourra me dépanner car cela me ferait gagner beaucoup de temps (je suis en Excel 2000) :
Je reçois plusieurs fichiers txt.
Lorsque j'ouvre ces fichiers en Excel, les nombres décimaux ne sont reconnus que comme du texte.
Lorsque je manipule ces fichiers "à la main" dans Excel, il me suffit de faire Editon/Remplacer "point" par "virgule" et tout va bien.
Mais quand j'enregistre cette opération en VBA, rien ne va plus ...
J'ai trouvé sur un site la macro suivante (je ne l'ai pas comprise mais elle fonctionne parfaitement) mais elle prend un temps infini (l'un de mes fichiers fait 100 colonnes X 3000 lignes) !!!

On Error Resume Next
For Each cell In selection
If InStr(1, cell.Text, ".") > 0 Then
cell.Value = CDbl(Val(cell.Text))
End If
Next

Quelqu'un connaît-il par hasard une autre façon de procéder plus rapide ou une astuce ou est-ce que je m'y prends mal ?
Merci d'avance à celui qui pourra me dépanner ...
 
A

Arnaud

Guest
salut,

je ne c pas si cela va être plus rapide mais tu pe essayer ça :

Private Sub Workbook_Open()
For i = 1 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(i).Activate
Cells.Replace What:=",", Replacement:=".", LookAt:=xlPart, SearchOrder _
:=xlByRows
Next i
ActiveWorkbook.Sheets(1).Activate
End Sub
 

Discussions similaires

Réponses
1
Affichages
475

Statistiques des forums

Discussions
312 492
Messages
2 088 912
Membres
103 983
dernier inscrit
AlbertCouillard