Pb Code VBA transformer texte en nombre

golzag

XLDnaute Nouveau
Bonjour à tous,

Je voudrais convertir des données texte en nombre cependant j'ai des problèmes, voici mon code.

Code:
Sub PropriétésFichiers() 

Application.ScreenUpdating = False


Dim objShell As Object, strFileName As Object
Dim Resultat As String
Dim i As Byte

adresse_dossier = "C:\Users\jle\Desktop\Extraction_temperature\test"

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(adresse_dossier) 
i = 1
    
    For Each strFileName In objFolder.Items
                
        Resultat = objFolder.GetDetailsOf(strFileName, 0) ' récupération du nom de fichier
        Workbooks.Open Filename:=adresse_dossier & "\" & Resultat & ".xls" 'ouverture du fichier

        'Conversion
        Range("K5").Select
        ActiveCell.FormulaR1C1 = "1"
        Range("K5").Select
        Selection.Copy
        Range("H9:FT100").Select
        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False
       
        
        'Changement du format des dates
        Range("I8:FT8").Select
        Selection.NumberFormat = "dd/mm/yy h:mm;@"
        Selection.Replace what:="-", Replacement:="/", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
        Columns("I:FT").Select
        Selection.ColumnWidth = 16.8
        Range("G3").Select
        'ActiveWorkbook.Save
        'ActiveWorkbook.Close
              
   
    Next


End Sub

Le problème est que je perd les chiffres après la virgule avec ce code.

J'ai essayé avec ça aussi mais ça ne fonctionne pas

Code:
Range("H9:FT100").Select
For Each c In Selection

c.Value = c.Value

'Range(c.Address) = CDbl(x)
Next

Est-ce que quelqu'un aurait une idée ?

Vous trouverez en pièce jointe le fichier avec les données que je chercher à convertir. Il suffit de rentrer le code ci-dessus dans un autre classeur et d'indiquer le chemin du fichier.

Merci d'avance
 

Pièces jointes

  • XLD_test.xls
    22.5 KB · Affichages: 126
  • XLD_test.xls
    22.5 KB · Affichages: 138
  • XLD_test.xls
    22.5 KB · Affichages: 135

Robert

XLDnaute Barbatruc
Repose en paix
Re : Pb Code VBA transformer texte en nombre

Bonjour Golzag, bonjour le forum,

Peut-être comme ça :

Code:
Sub Macro1()
For Each c In Range("H9:FT100") 'boucle sur la plage
On Error Resume Nex''évite le bug si la donnée n'est pas numérique
c.Value = CDbl(c.Value) 'convertit en nombre
Next 'prochaine cellule de la plage
End Sub
 

Discussions similaires

Réponses
2
Affichages
122

Statistiques des forums

Discussions
312 359
Messages
2 087 589
Membres
103 603
dernier inscrit
totoro94