XL 2010 Convertir une colonne texte en date VBA

jamoke7

XLDnaute Nouveau
Bonjour,

J'ai un fichier avec une colonne C pour lesquelles les dates sont au format texte.
Je n'arrive pas à trouver un code VBA pour convertir facilement cette colonne en date.

[C:C].Select
For Each xCell In Selection
xCell.Value = CDate(xCell.Value)
Next xCell

Merci d'avance pour votre aide.
 
Solution
Bonjour jamoke7, dudu2, le forum

cela veut dire que l'un de tes textes n'est pas une date, peut être des espaces qui trainent avant ou après.
essayes
xCell.Value = CDate(Trim(xCell.Value))
sinon postes un fichier exemple pour qu'on ne joue pas aux devinettes sur ce qu'il y a dans les cellules.

Bien cordialement, @+

Dudu2

XLDnaute Barbatruc
Bonjour,

VB:
Sub a()
    Dim xCell As Range
    Dim Rng As Range
   
    Set Rng = Intersect(ActiveSheet.[C:C], ActiveSheet.UsedRange)
    If Not Rng Is Nothing Then
        For Each xCell In Rng.Cells
            xCell.NumberFormat = "m/d/yyyy"
            xCell.Value = CDate(xCell.Value)
        Next xCell
    End If
End Sub
 

Dudu2

XLDnaute Barbatruc
Bonjour @Yeahou,
J'aime bien l'idée de ne pas jouer aux devinettes :rolleyes:

Sinon comment convertir en date des valeurs qui ne sont pas des dates ?
VB:
Sub a()
    Dim xCell As Range
    Dim Rng As Range
 
    Set Rng = Intersect(ActiveSheet.[C:C], ActiveSheet.UsedRange)
    If Not Rng Is Nothing Then
        For Each xCell In Rng.Cells
            If IsDate(xCell.Value) Then
                xCell.NumberFormat = "m/d/yyyy"
                xCell.Value = CDate(xCell.Value)
            End If
        Next xCell
    End If
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 870
dernier inscrit
Dethomas