XL 2010 modifier format dans colonne

poussy67

XLDnaute Occasionnel
Bonjour le forum

J'ai un souci de modification format dans des colonnes avec des dates:heures dans une plage variable.
J'utilise une vba qui me ralenti énormément le traitement du fichier. Après plusieurs recherche je ne parviens pas à trouvé une solution. c'est pour cela que je fais appelle au expert Excel de me donnée un coup de pouce et si il y a un autre moyen de rendre le traitement plus rapide. en vous remerciant d'avance .

Cdt poussy67

ci-joint un exemple
 

Fichiers joints

Dranreb

XLDnaute Barbatruc
Bonjour.
Écrit comme ça ça marche chez moi, et si ç’avait été pour Excel 2016 je n'aurais pas transité par un String avec mois en lettres pour contourner le bogue des versions antérieures :
VB:
Sub change_Date2()
Dim Plg As Range, T(), L As Long, C As Long
Set Plg = Feuil2.[A2].Resize(Feuil2.[A60000].End(xlUp).Row - 1, 9)
T = Plg.Value
For L = 1 To UBound(T, 1)
   For C = 1 To 9
      If VarType(T(L, C)) = vbString Then If T(L, C) Like "*/*/*-*:*" Then T(L, C) _
         = Format(CDate(Replace(T(L, C), "-", " ")), "dd mmm yyyy hh:mm")
   Next C, L
Intersect(Feuil2.[A:D,G:I], Plg).NumberFormat = "dd/mm/yyyy hh:mm"
Plg.Value = T
End Sub
 
Dernière édition:

Jacky67

XLDnaute Accro
Bonjour,
Ceci à tester
Attention dans ton exemple la colonne I n'est pas traitée
VB:
Sub change_Date2()
Dim plage As Range
    Sheets("Feuil2").Select
    Set plage = Range("A2:D" & Range("A" & Rows.Count).End(xlUp).Row)
    plage.Replace What:="-", Replacement:=" ", LookAt:=xlPart, SearchOrder:=xlByRows
    plage.NumberFormat = "dd/mm/yyyy hh:mm"
    Set plage = Range("G2:H" & Range("H" & Rows.Count).End(xlUp).Row)
    plage.Replace What:="-", Replacement:=" ", LookAt:=xlPart, SearchOrder:=xlByRows
    plage.NumberFormat = "dd/mm/yyyy hh:mm"
End Sub
 

poussy67

XLDnaute Occasionnel
Bonjours Dranreb, jacky67

Mes excuses pour vous avoir répondu aussi tardivement.
Merci beaucoup pour votre coup de pouce, les deux solutions me conviennent
très bien. Je vais essayer de comprendre au mieux cette VB
Encore merci à vous deux

Cdt Poussy
 

Discussions similaires


Haut Bas