Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 supprimer la virgule d'un nombre

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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")
 
bonjour à tous,

une solution VBA:

Code:
Sub Modif()

For i = 3 To 100 ' pour les lignes 3 à 100, sur la colonne 3 (C)
    Cells(i, 3) = Cells(i, 3) * 100
    Cells(i, 3).NumberFormat = "00000000"
Next

End Sub

A+
 
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"
 
Je ne veux pas modifier le fichier excel d'origine, je veux juste récupérer la valeur pour l'écrire dans un fichier .txt au format "000000000" sans virgule.

je creuse le code de Paf (en espérant que le chien se sauve ^^ )
 
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+
 
Bonsour® Jacky im schnockeloch 😀 le monsieur il a dit : VBA
tu n'aurais pas pu utiliser l'enregistreur ??? on perd du temps ... !🙄
ROTFL...😉😛
 
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+
 
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
773
Réponses
2
Affichages
744
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…