Forcer le format de cellule

Bonjour,

Dans mon tableau excel j'ai une colonne qui se nomme DateFrom elle est composé de date + heure.

J'ai dans toutes ces données 2 dates qui son erronées. Elles ont des "." à la place des "/".

J'ai créer cette petite macro pour remplacer les "." par des "/".

' Effacer et Remplacer les Valeurs "." dans la colonne DateFrom

Cells.Find(What:="DateFrom").Activate

ActiveCell.EntireColumn.Select

Selection.Replace What:=".", Replacement:="/"

Mais j'ai un problème avec une seul date qui ne veux pas se mettre au format. Quand je fais un filtre sur cette colonne on voit bien que j'ai le choix qui s'affiche par les années sauf une qui reste dans sa forme originel "22/12/2015 09:00"

Comment faire pour que cette date prenne le même format que les autres.

Merci de votre aide.

Eddie

25macro-datefrom.xlsm (69.06 Ko)

Bonjour,

j'y suis arrivé en la mettant au format date tout bêtement...

A+

C'est la 1ere chose que j'ai fait mais cela ne marche pas chez moi.

La manipulation manuelle que je fais, je me positionne sur la cellule je fais la touche F2 et je valide.

Avec cette manipulation j'ai plus de problème mais c'est pas pratique

C'est bizarre

Bonjour,

Fais un essai avec

Sub test()
Dim Cel As Range
    Application.ScreenUpdating = False
    For Each Cel In Range("A2", Range("A2").End(xlDown))
        If Not IsDate(Cel) Then
            Cel = DateValue(Replace(Cel, ".", "/"))
            Cel.Value = Cel.Value
            Cel.NumberFormat = "dd/mm/yyyy hh:mm"
        End If
    Next Cel
End Sub

A+

Salut,

Ça marche très bien, merci mais (il y a toujours un mais ) ma colonne n'est pas toujours en A2 (comme dans le fichier exemple) c'est pour ça que dans ma macro basique je cherche en 1er l’entête de la colonne et je la sélectionne.

Cells.Find(What:="DateFrom").Activate
ActiveCell.EntireColumn.Select

est ce que dans ton code on peux y ajouter cette variable ?

Merci

Eddie

Si les en-têtes de colonne sont en ligne 1 :

Sub test()
Dim Cel As Range, Col As Range
    Application.ScreenUpdating = False
    Set Col = Rows(1).Find(What:="DateFrom")
    If Not Col Is Nothing Then
        For Each Cel In Range(Col.Offset(1), Col.End(xlDown))
            If Not IsDate(Cel) Then
                Cel = DateValue(Replace(Cel, ".", "/"))
                Cel.Value = Cel.Value
                Cel.NumberFormat = "dd/mm/yyyy hh:mm"
            End If
        Next Cel
    End If
End Sub

A+

Merci, c'est génial ça marche parfaitement.

Eddie

Bonjour à tous,

Bon j'ai de nouveau le même problème, on m'a changé l'extraction dont j'ai besoin et j'ai de nouveau mon problème de mise en forme des dates.

erreur datefrom

J'ai essayé de :

1/ Mise en forme : jj/mm/aaaa hh:mm

Ça ne marche Pas

2/ Convertir en largeur fixe et séparer la date et l'horaire

Ça ne marche Pas

3/copier la colonne et coller en valeur et ensuite faire la mise en forme : jj/mm/aaaa hh:mm

Ça ne marche Pas

Est ce quelqu'un pourrait m'aider ?

En vous remerciant.

14erreur-datefrom.xlsx (117.20 Ko)

Bonjour,

En B1, tu saisis la valeur 1,

tu sélectionnes B1 et tu fais copier,

tu sélectionnes A2:A8983,

clic droit > collage spécial > Multiplication > OK

et pour finir, format de cellule > Date personnalisée "jj/mm/aaaa hh:mm"

A+

C'est Magnifique, tu es un génie.

Merci beaucoup, j'aurais pas trouvé.

Eddie

Rechercher des sujets similaires à "forcer format"