Reconnaissance du format date macro excel

Résolu
Bl4do Messages postés 40 Statut Membre -  
Bl4do Messages postés 40 Statut Membre -
Bonjour,

Alors voilà, j'ai créé une base de données qui importe des formulaires, mais j'ai le format de chaque colonne contenant des dates n'est plus reconnu. Ma demonstration a simplement consisté à soustraire 2 dates, ou faire un networdays sur 2 dates, et le résultat est le même: "#VALUE!". C'est assez embêtant sachant que j'ai besoin de faire une macro filtre sur les date...

J'ai donc essayé de rajouté une macro de convertion de format:

Sub convertir()
Dim Lig As Long, Drlig As Long

With Sheets("BDD")
Drlig = .Range("BD" & Rows.Count).End(xlUp).Row
For Lig = 4 To Drlig
If IsNumeric(.Cells(Lig, 56)) Then
.Cells(Lig, 56) = CDbl(.Cells(Lig, 56))
End If
If IsNumeric(.Cells(Lig, 60)) Then
.Cells(Lig, 60) = CDbl(.Cells(Lig, 60))
End If
If IsNumeric(.Cells(Lig, 5)) Then
.Cells(Lig, 5) = CDbl(.Cells(Lig, 5))
End If

Next
.Columns("BH:BH").NumberFormat = "0.00%"
.Columns("BD:BD").NumberFormat = "0.00%"
.Columns("BC:BC").NumberFormat = "0.00"
.Columns("BE:BE").NumberFormat = "0.00"
.Columns("E:E").NumberFormat = "d/M/yy"
End With
End Sub

Sans succès, le format ne veut toujours être reconnu... :(

Si quelqu'un a une astuce pour régler ce problème, celà m'aiderait beaucoup!
Merci.



--
Cordialement,
L. L.

2 réponses

  1. Bl4do Messages postés 40 Statut Membre 1
     
    J'oubliai: J'ai mis en gras les lignes du code spécifique à la colonne date, le reste du code concerne d'autre colonne et fonctionne normalement.
    0
  2. Bl4do Messages postés 40 Statut Membre 1
     
    Bon, j'ai finallement trouvé la solution, je vais donc l'expliquer, ça pourrait servir à d'autres.

    A la place de:

    If IsNumeric(.Cells(Lig, 5)) Then

    .Cells(Lig, 5) = CDbl(.Cells(Lig, 5))

    End If

    Mettre plutôt:

    If IsDate(.Cells(Lig, 5)) Then

    .Cells(Lig, 5) = CDate(.Cells(Lig, 5))

    End If
    Et voilà le format est reconnu!

    0