XL 2010 supprimer la virgule d'un nombre

kastor

XLDnaute Junior
Bonjour,

J'ai des valeurs dans un fichier que je souhaite modifier.

voici ce que je peux avoir
12,53
12,5
9
0,56

et j'ai besoin de nourrie un fichier .txt sans les virgules mais avec les décimales sur 8 caratcères

donc :
00001253
00001250
00000900
00000056

Auriez-vous un idée de la formule.

Merci d'avance
 

Jacky67

XLDnaute Barbatruc
Bonjour,

J'ai des valeurs dans un fichier que je souhaite modifier.

voici ce que je peux avoir
12,53
12,5
9
0,56

et j'ai besoin de nourrie un fichier .txt sans les virgules mais avec les décimales sur 8 caratcères

donc :
00001253
00001250
00000900
00000056

Auriez-vous un idée de la formule.

Merci d'avance
Bonjour,
Si le symbole décimal de Windows est la virgule
=TEXTE(A1*100;"00000000")
Si c'est le point
=TEXTE(SUBSTITUE(A1;",";".")*100;"00000000")
 

Jacky67

XLDnaute Barbatruc
Sans formule ni vba si le symbole décimal de Windows est la virgule.
Inscrire 100 dans une cellule vierge==>copier cette cellule
Sélectionner les cellules à modifier==>collage spécial==>multiplication
les cellules au format personnalisé ==>"00000000"
 

Paf

XLDnaute Barbatruc
re tous,

il faut juste créer un fichier texte pour y coller la colonne de nombres reformatés ?

Un classeur exemple et des explications complètes pourrait permettre d'élaborer une proposition plus aboutie.

En attendant, on peut aussi faire:

montant = Format(Cells(i, 3) * 100, "00000000")

A+
 

Modeste geedee

XLDnaute Barbatruc
Bonsour® Jacky im schnockeloch :D
Sans formule ni vba si le symbole décimal de Windows est la virgule.
Inscrire 100 dans une cellule vierge==>copier cette cellule
Sélectionner les cellules à modifier==>collage spécial==>multiplication
les cellules au format personnalisé ==>"00000000"
le monsieur il a dit : VBA
tu n'aurais pas pu utiliser l'enregistreur ??? on perd du temps ... !:rolleyes:
ROTFL...;):p
 

job75

XLDnaute Barbatruc
Bonjour à tous,
Code:
Sub FichierTexte()
Dim fichier$, r As Range
fichier = ThisWorkbook.Path & "\FichierTexte.txt" 'à adapter
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next 'si aucune constante numérique
ActiveSheet.Copy
With ActiveWorkbook
  Set r = .Sheets(1).Cells.SpecialCells(xlCellTypeConstants, 1) 'toute la feuille
  'Set r = .Sheets(1).[A:A].SpecialCells(xlCellTypeConstants, 1) 'seulement la colonne A
  r.NumberFormat = "@" 'format Texte
  For Each r In r
    r = Format(100 * r, "00000000")
  Next
  .SaveAs fichier, xlText
  .Close
End With
End Sub
A+
 

job75

XLDnaute Barbatruc
Re,

S'il y a un grand nombre de cellules à traiter il faut utiliser un tableau VBA, c'est beaucoup plus rapide :
Code:
Sub FichierTexte()
Dim fichier$, P As Range, nlig&, t, j%, i&
fichier = ThisWorkbook.Path & "\FichierTexte.txt" 'à adapter
Application.ScreenUpdating = False
Application.DisplayAlerts = False
ActiveSheet.Copy
With ActiveWorkbook.Sheets(1)
  Set P = .UsedRange 'toute la feuille
  'Set P = .UsedRange.Columns(1) 'seulement la 1ère colonne
  P.NumberFormat = "@" 'format Texte
  nlig = P.Rows.Count
  t = P.Resize(nlig + 1) 'au moins 2 éléments
  For j = 1 To UBound(t, 2)
    For i = 1 To nlig
      If IsNumeric(CStr(t(i, j))) Then t(i, j) = Format(100 * t(i, j), "00000000")
  Next i, j
  P = t
  .Parent.SaveAs fichier, xlText
  .Parent.Close
End With
End Sub
Bonne soirée.
 

Discussions similaires

Réponses
2
Affichages
457
Réponses
10
Affichages
524

Statistiques des forums

Discussions
312 305
Messages
2 087 082
Membres
103 457
dernier inscrit
fab2614