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 ...
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 ...