Conversion données en nombre

Résolu
ath80 Messages postés 234 Statut Membre -  
ath80 Messages postés 234 Statut Membre -
Bonjour,
Je souhaiterai convertir des données en nombre afin de faire des calculs.

https://www.cjoint.com/c/FAmwJAVkIef

Je récupère des données à partir d'un autre fichier (F4:J75). Les valeurs contiennent un point au lieu d'une virgule. J'ai fait un test copiant les valeurs dans la plage (K4:O75). Puis sélectionner la plage et remplacer "." par ",". Toutes les valeurs se convertissent alors en nombres.

J'ai créé une macro pour le faire en automatique. Cependant, ça ne fonctionne qu'avec certaines valeurs. Pourriez vous m'aider ?
Ca se trouve il y a une méthode plus simple pour convertir les données en nombre ...

Merci d'avance.

Cordialement.

2 réponses

  1. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    Bonsoir,

    Je te conseille d'utiliser une conversion "presque à blanc" :
    Sub Macro4()
        Range("F4:J75").Select
        Selection.TextToColumns Destination:=Range("F4"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(1, 1), DecimalSeparator:=".", ThousandsSeparator:=",", _
            TrailingMinusNumbers:=True
    End Sub
    

    cordialement
    0
    1. ath80 Messages postés 234 Statut Membre 9
       
      Bonjour,
      Merci pour la réponse. J'ai remplacé directement la macro par ce code et ça ne fonctionne pas. Un message d'erreur s'affiche.

      Cordialement.
      0
    2. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
       
      Bonjour,

      1ère ligne de la macro, remplace J par F

      cdlt
      0
    3. ath80 Messages postés 234 Statut Membre 9
       
      Merci beaucoup !
      0
  2. Maurice
     
    Bonjour
    une macro a tester
    Sub Test()
    Cells.Replace ".", ",", xlPart
       For L = 4 To 75
          Range("F" & L).Value = Range("F" & L).Value * 1
          Range("K" & L).Value = Range("K" & L).Value * 1
       Next
    End Sub
    


    A+
    Maurice
    0
    1. ath80 Messages postés 234 Statut Membre 9
       
      Merci de ton aide mais avec ce code la virgule est à la mauvaise place (comme ma macro).

      La solution de JvDo est correcte.
      0