Pb Code VBA transformer texte en nombre

  • Initiateur de la discussion Initiateur de la discussion golzag
  • Date de début Date de début

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 !

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

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
 
- 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
7
Affichages
726
  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
691
  • Question Question
XL 2019 Code VBA
Réponses
12
Affichages
791
Retour