Reconnaissance du format date macro excel

Résolu
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. 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
    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