Bonjour a tous,
J’ai une plage dont certaines colonnes contiennent des donnees numeriques qui sont stockees comme du texte avec un petit triangle vert au coin superieur gauche de la cellule.
Je me sers du code suivant pour corriger cela mais, c’est extrement lent puisque la plage est d’une grande taille (A1: GL 5206) . Je dois preciser ici qu’un code similaire s’execute en 1 minute en si executee directement en Excel.
Auriez –vous des pistes de reflexions a me suggerer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Sub subDataStoredAsText() Dim strExcelFileName As String, strExcelTabName As String strExcelFileName = "C:\Documents and Settings\prosperg\Desktop\T2_Canx_CnC_AOT_Weekly\Prosper_Raw_Data.xlsm" strExcelTabName = "Data_Options" Dim objXLApp As Excel.Application ': i use early binding here. Dim objXLBook As Excel.Workbook Dim rngUsedRange As Excel.Range, oRange As Excel.Range Set objXLApp = CreateObject("Excel.Application") Set objXLBook = objXLApp.Workbooks.Open(strExcelFileName) objXLApp.Application.Visible = True Set rngUsedRange = objXLBook.Worksheets(strExcelTabName).usedrange objXLApp.ScreenUpdating = False objXLApp.DisplayAlerts = False '=> solution au probleme de "Number stored as text" For Each oRange In rngUsedRange oRange.Value = oRange.Value Next oRange objXLApp.DisplayAlerts = True objXLApp.ScreenUpdating = True objXLBook.Save objXLApp.Quit Set objXLApp = Nothing End Sub
Partager