Passer de Format dates texte en format dates traditionnel

Bonjour le forum

Punaise j'ai un "trou" d'air énorme. Fait plusieurs fois pourtant mais il y a un bon moment.

J'ai la macro ci-dessous faite par un membre du forum mais...

Date texte colonne A exemple Mercredi 09 Mai 2018 en 09/05/2018

Date à convertir colonne K à partir de la ligne 10

Sub ConvertStrDate()
    Dim I As Single, DrLigne As Single
    Dim DateStr As String
    Dim LaDate As Date
    Dim test As String
    Application.EnableEvents = False
    DrLigne = Range("K" & Rows.Count).End(xlUp).Row    'Modifier Nom colonne si pas la bonne
    For I = 3 To DrLigne                               'Modifier N° de Ligne si pas la bonne
        DateStr = Range("K" & I).Value2                'Modifier Nom colonne si pas la bonne
        DateStr = Mid(DateStr, InStr(1, DateStr, " ") + 1, Len(DateStr))
        LaDate = CDate(DateStr)
        Range("K" & I) = LaDate                        'Modifier Nom colonne si pas la bonne ou sur la prochaine colonne libre
    Next I
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub

Merci pour vos éventuels retours

Cordialement

Bonjour,

Un fichier est toujours plus parlant qu'un code.

-Pourquoi I et Drligne en Single ? ---> Long

-For I = 3 To DrLigne je pensais que les dates commençaient à partir de la ligne 10

- DateStr = Range("K" & I).Value2 ----> c'est quoi ce 2 après value ?

- Range("K" & I) = LaDate si vous rangez dans la même colonne alors il n'y aura rien en colonne A

Sub ConvertStrDate()
    Dim I As Long, DrLigne As Long
    Dim DateStr As String
    Dim LaDate As Date

    Application.EnableEvents = False
    DrLigne = Range("K" & Rows.Count).End(xlUp).Row    'Modifier Nom colonne si pas la bonne

    For I = 10 To DrLigne    'Modifier N° de Ligne de départ si pas la bonne
        DateStr = Range("K" & I).Value   'Modifier Nom colonne à convertir si pas la bonne
        DateStr = Mid(DateStr, InStr(1, DateStr, " ") + 1, Len(DateStr))
        LaDate = CDate(DateStr)
        Range("A" & I) = LaDate  'Modifier Nom colonne de résultat si pas la bonne ou sur la prochaine colonne libre
    Next I
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub
5toto.zip (31.45 Ko)

Bonjour Xmenpl

Voici un fichier

C'est quand je le constitue c'est pour éviter de taper toutes les dates colonne F et ça met à jour colonne B

Pas forcément la macro déjà utilisé.

A voir

Cordialement

Re, Ton fichier exemple c'est le même principe sauf que ce n'est pas exactement les mêmes infos :

- Colonnes des infos DATES colonne A

- Colonne test pour dernière ligne colonne A

-Numémro ligne Départ pour i : 3

-Colonne pour affichage du Résultat : Colonne F

On obtiend une macro :

Sub MacroDATES()
Dim I As Long, DrLigne As Long
    Dim DateStr As String
    Dim LaDate As Date

    Application.EnableEvents = False
    DrLigne = Range("A" & Rows.Count).End(xlUp).Row    'Modifier Nom colonne si pas la bonne

    For I = 3 To DrLigne    'Modifier N° de Ligne de départ si pas la bonne
        DateStr = Range("A" & I).Value   'Modifier Nom colonne à convertir si pas la bonne
        DateStr = Mid(DateStr, InStr(1, DateStr, " ") + 1, Len(DateStr))
        LaDate = CDate(DateStr)
        Range("F" & I) = LaDate  'Modifier Nom colonne de résultat si pas la bonne ou sur la prochaine colonne libre
    Next I
    Application.EnableEvents = True
    Application.ScreenUpdating = True

End Sub
4toto.zip (35.22 Ko)

Re Xmenpl

SUPER quand il y a une feuille et 100 dates a recopier ça va beaucoup plus vite!!!

Mais quand il y a plusieurs feuilles (ça peut arriver) ça bug (normal)

Quelles modifs dans la macro? (si pas possible ne t'acharne pas la dessus)

Merci à toi

Cordialement

Re Xmenpl

SUPER quand il y a une feuille et 100 dates a recopier ça va beaucoup plus vite!!!

Mais quand il y a plusieurs feuilles (ça peut arriver) ça bug (normal)

Quelles modifs dans la macro? (si pas possible ne t'acharne pas la dessus)

Merci à toi

Cordialement

Si tu lances la macro quand tu es sur la feuille concernée alors çà ne doit pas buguer ... ou alors les infos des feuilles suivantes ne sont pas dans les mêmes

colonnes.

Actuellement la macro en exemple ce lance feuille par feuille quand on est sur la feuille active.

Pour une macro qui ferait le job sur toutes les feuilles en même temps il faut avoir un modèle du fichier qui ressemble à votre original.

Re Xmenpl

C'est de ma faute tout fonctionne parfaitement.

La date texte (colonne A) était mal orthographiée. donc pas de résultat.

Toutes mes excuses

Bonne fin de soirée et encore merci

Cordialement

Rechercher des sujets similaires à "passer format dates texte traditionnel"