Reconnaissance du format date macro excel
Résolu
Bl4do
Messages postés
40
Statut
Membre
-
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.
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.
A voir également:
- Macro date format
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Format dat - Guide
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
2 réponses
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.
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!
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!