Microsoft 365 Macro conversion en numérique trop lente

mbeny

XLDnaute Nouveau
Bonjour
J'utilise le code suivant pour transformer des données en nombre suite à une extraction:
Dan sla colonne traitée, il y a des valeurs numériques et alphanumériques, ce qui empêche de multiplier la colonne par 1.
Mais cette macro est très lente !

On Error Resume Next
Range("F2").Select
Dim plage As Range, cel As Range
Set plage = Range("F2:F" & Range("F" & Rows.Count).End(xlUp).Row)
For Each cel In plage
cel = cel * 1
Next

Quelqu'un pourrait-il me proposer un code plus rapide ?
D'avance merci
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour mbeny, le forum

utilisez un tableau VB variant, cela fera la même chose beaucoup plus rapidement en évitant une boucle sur les cellules.
Vérifiez d'abord que vos cellules sont bien au format standard

Bien cordialement, @+
VB:
Dim Plage_Ref As Range, Plage_Val
Set Plage_Ref = Range("F2:F" & Range("F" & Rows.Count).End(xlUp).Row)
Plage_Val = Plage_Ref.Value2
Plage_Ref.Value2 = Plage_Val
 

Discussions similaires

Réponses
2
Affichages
140
Réponses
7
Affichages
312

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 810
dernier inscrit
mohammedaminelahbali