XL 2019 Convertir Plage format text En Format Date

iliess

XLDnaute Occasionnel
Bonjour
Je souhaite convertir ma plage dynamique de A3 au dernier ligne en format Date
J'ai essayer d'aller sur onglet accueil case nombre format date mais ça marche pas
après j'ai crée cette macro mais elle lente. et je sais que avec les méthodes tableau ou collection ça seras plus rapide .
Code:
Sub Conve_Forma_date()
    
Dim Derlign As Long
    Derlign = ActiveSheet.Cells(Application.Rows.Count, 1).End(xlUp).Row
    Range("B3").FormulaR1C1 = "=[@DATE]*1"
    Range("B3:B" & Derlign).Copy
    Range("A3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Columns("B:B").Delete Shift:=xlToLeft
    Columns("A:A").NumberFormat = "m/d/yyyy"
End Sub
merci
 
Solution
Re,

Essayer cette macro :
VB:
Sub EnDate()
With Range("Tableau1[DATE]")
    .TextToColumns Destination:=.Range("A1"), DataType:=xlFixedWidth, FieldInfo:=Array(0, 4), TrailingMinusNumbers:=True
End With
End Sub

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Autre solution sans macro :

1 - tapez 1 (Un) dans une cellule vide
2 - copier cette dernière
3 - sélectionner la colonne des fausses dates
4 - clic-droit -> collage spécial
5 - choisir 'Valeurs' dans 'Coller' et dans 'Opération' choisir 'Multiplication'
6 - Valider par 'Ok', C'est fait

capture.png
 

Discussions similaires

Statistiques des forums

Discussions
312 276
Messages
2 086 714
Membres
103 377
dernier inscrit
fredy45