je n'arrive pas à changer le format des dates dans la colonne Dates: le
format est du style : mm/jj/aaaa, il y a déjà quelques enregistrements dans
cette colonne avec le format US. Je souhaiterais que ces dates se
transforment en date françaises : jj/mm/aaaa, est-ce que c'est possible ?.
Merci
enirakenna
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Frédéric Sigonneau
Bonjour,
Si tu utilises Excel 2000 ou + récent, essaye avec une fonction perso VBA comme celle-ci qui prend en paramètre le format des données - MDY pour le format US - et le séparateur de date voulu pour le résultat. La procédure TransfoDates applique le fonction à chaque cellule d'une plage sélectionnée (tu peux la relier à un bouton de barre d'outils si tu dois faire souvent ce genre d'opétarions) :
'=================== Sub TransfoDates() Dim cell As Range For Each cell In Selection cell.Value = ConvDate(cell.Value, "MDY", "/") Next cell End Sub
Function ConvDate(LaDate, LeFormat, Separateur) Dim J, M, A
If UBound(Split(LaDate, Separateur)) <> 2 Then 'LaDate n'est pas une date complète (jour, mois, année) 'ou n'est pas une date du tout (texte, nombre) -> on abandonne ConvDate = LaDate Exit Function End If
Select Case LeFormat Case "DMY" J = Split(LaDate, Separateur)(0) M = Split(LaDate, Separateur)(1) A = Split(LaDate, Separateur)(2) Case "MDY" J = Split(LaDate, Separateur)(1) M = Split(LaDate, Separateur)(0) A = Split(LaDate, Separateur)(2) Case "YMD" J = Split(LaDate, Separateur)(2) M = Split(LaDate, Separateur)(1) A = Split(LaDate, Separateur)(0) Case "YDM" J = Split(LaDate, Separateur)(1) M = Split(LaDate, Separateur)(2) A = Split(LaDate, Separateur)(0) Case Else ConvDate = LaDate Exit Function End Select
ConvDate = CDate(DateSerial(A, M, J))
End Function 'fs '=================== FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://frederic.sigonneau.free.fr Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
je n'arrive pas à changer le format des dates dans la colonne Dates: le format est du style : mm/jj/aaaa, il y a déjà quelques enregistrements dans cette colonne avec le format US. Je souhaiterais que ces dates se transforment en date françaises : jj/mm/aaaa, est-ce que c'est possible ?. Merci enirakenna
Bonjour,
Si tu utilises Excel 2000 ou + récent, essaye avec une fonction perso VBA comme
celle-ci qui prend en paramètre le format des données - MDY pour le format US -
et le séparateur de date voulu pour le résultat. La procédure TransfoDates
applique le fonction à chaque cellule d'une plage sélectionnée (tu peux la
relier à un bouton de barre d'outils si tu dois faire souvent ce genre
d'opétarions) :
'=================== Sub TransfoDates()
Dim cell As Range
For Each cell In Selection
cell.Value = ConvDate(cell.Value, "MDY", "/")
Next cell
End Sub
Function ConvDate(LaDate, LeFormat, Separateur)
Dim J, M, A
If UBound(Split(LaDate, Separateur)) <> 2 Then
'LaDate n'est pas une date complète (jour, mois, année)
'ou n'est pas une date du tout (texte, nombre) -> on abandonne
ConvDate = LaDate
Exit Function
End If
Select Case LeFormat
Case "DMY"
J = Split(LaDate, Separateur)(0)
M = Split(LaDate, Separateur)(1)
A = Split(LaDate, Separateur)(2)
Case "MDY"
J = Split(LaDate, Separateur)(1)
M = Split(LaDate, Separateur)(0)
A = Split(LaDate, Separateur)(2)
Case "YMD"
J = Split(LaDate, Separateur)(2)
M = Split(LaDate, Separateur)(1)
A = Split(LaDate, Separateur)(0)
Case "YDM"
J = Split(LaDate, Separateur)(1)
M = Split(LaDate, Separateur)(2)
A = Split(LaDate, Separateur)(0)
Case Else
ConvDate = LaDate
Exit Function
End Select
ConvDate = CDate(DateSerial(A, M, J))
End Function 'fs
'===================
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
je n'arrive pas à changer le format des dates dans la colonne Dates: le
format est du style : mm/jj/aaaa, il y a déjà quelques enregistrements dans
cette colonne avec le format US. Je souhaiterais que ces dates se
transforment en date françaises : jj/mm/aaaa, est-ce que c'est possible ?.
Merci
enirakenna
Si tu utilises Excel 2000 ou + récent, essaye avec une fonction perso VBA comme celle-ci qui prend en paramètre le format des données - MDY pour le format US - et le séparateur de date voulu pour le résultat. La procédure TransfoDates applique le fonction à chaque cellule d'une plage sélectionnée (tu peux la relier à un bouton de barre d'outils si tu dois faire souvent ce genre d'opétarions) :
'=================== Sub TransfoDates() Dim cell As Range For Each cell In Selection cell.Value = ConvDate(cell.Value, "MDY", "/") Next cell End Sub
Function ConvDate(LaDate, LeFormat, Separateur) Dim J, M, A
If UBound(Split(LaDate, Separateur)) <> 2 Then 'LaDate n'est pas une date complète (jour, mois, année) 'ou n'est pas une date du tout (texte, nombre) -> on abandonne ConvDate = LaDate Exit Function End If
Select Case LeFormat Case "DMY" J = Split(LaDate, Separateur)(0) M = Split(LaDate, Separateur)(1) A = Split(LaDate, Separateur)(2) Case "MDY" J = Split(LaDate, Separateur)(1) M = Split(LaDate, Separateur)(0) A = Split(LaDate, Separateur)(2) Case "YMD" J = Split(LaDate, Separateur)(2) M = Split(LaDate, Separateur)(1) A = Split(LaDate, Separateur)(0) Case "YDM" J = Split(LaDate, Separateur)(1) M = Split(LaDate, Separateur)(2) A = Split(LaDate, Separateur)(0) Case Else ConvDate = LaDate Exit Function End Select
ConvDate = CDate(DateSerial(A, M, J))
End Function 'fs '=================== FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://frederic.sigonneau.free.fr Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
je n'arrive pas à changer le format des dates dans la colonne Dates: le format est du style : mm/jj/aaaa, il y a déjà quelques enregistrements dans cette colonne avec le format US. Je souhaiterais que ces dates se transforment en date françaises : jj/mm/aaaa, est-ce que c'est possible ?. Merci enirakenna