XL 2016 Convertir plage de cellule texte en nombre

Fabinou62

XLDnaute Occasionnel
Bonjour à tous !

J'ai une feuille de calcul .csv que je convertis pour avoir les données rangées par des colonnes différentes.
Ces données sont des valeurs avec des "." comme 95.7 etc..., je ne peux donc faire des calculs dessus, pour Excel c'est du texte.
J'ai fait donc du code VBA pour remplacer les "." par les ",", ca c'est ok ;)

Mets quand je les copie dans une autre feuille, j'ai plein d'erreur avec "nombre stocké sous format texte, convertir en nombre…".
Comment faire (VBA ?) ?

Merci d'avance :)
 

patricktoulon

XLDnaute Barbatruc
bonjour a tous les deux
et pour vous faire entrer dans le coté obscure de la force
VB:
Option Explicit

Sub Test()
   Dim Ws As Worksheet
   Set Ws = Sheets("Feuil1")
  With Ws.UsedRange
   .Value = .Value
  End With
End Sub
étonnant l’auto conversion quand on passe d'un range a un tableau
en même temps pas tant que ça (sachant que le séparateur décimal en VBA est le ".")
;)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Faribou,M12, Patrick,
Une autre approche en utilisant directement Remplacer. En utilisant le générateur de macros :
VB:
Sub Remplacer()
    Cells.Select
    Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Range("A1").Select
End Sub
 

Pièces jointes

  • test (11).xlsm
    18.2 KB · Affichages: 15

Fabinou62

XLDnaute Occasionnel
Re à tous, merci de votre aide très rapide.
J'avais avant tester ce que vous me proposé, mais cela ne fonctionnait plus après le copier coller des cellules dans une autre feuille.
Le problème a été résolu en changeant l'option séparateur de décimal de "," par "." lors de l'assistant de conversion des données.

Merci à tous :)
(P.S. : comment mettre ce message comme solution du forum)
 

Discussions similaires

Réponses
13
Affichages
339

Statistiques des forums

Discussions
311 725
Messages
2 081 948
Membres
101 850
dernier inscrit
Danigra