Comment convertir rapidement la date en mots dans Excel?
En général, nous convertissons généralement la date en d'autres formats de date ou chiffres dans Excel, mais avez-vous déjà rencontré un problème concernant la conversion de la date en mots anglais comme illustré ci-dessous? En fait, il n'y a pas de fonction intégrée qui peut le gérer mais un code VBA.
Convertir la date en mot avec la fonction définie
Convertir la date en mot avec la fonction définie
Voici un code macro qui peut vous rendre service lors de la conversion des dates en mots.
1. Activez la feuille que vous utilisez et appuyez sur Alt + F11 clés pour ouvrir Microsoft Visual Basic pour applications fenêtre.
2. Cliquez insérer > Module et collez le code ci-dessous dans le script.
VBA: convertir la date en mot
Function DateToWords(ByVal xRgVal As Date) As String
' Update by Extendoffice on 20240926
Dim xYear As String
Dim Hundreds As String
Dim Decades As String
Dim xTensArr As Variant
Dim xOrdArr As Variant
Dim xCardArr As Variant
' Initialize arrays
xOrdArr = Array("First", "Second", "Third", "Fourth", "Fifth", "Sixth", _
"Seventh", "Eighth", "Ninth", "Tenth", "Eleventh", "Twelfth", _
"Thirteenth", "Fourteenth", "Fifteenth", "Sixteenth", _
"Seventeenth", "Eighteenth", "Nineteenth", "Twentieth", _
"Twenty-first", "Twenty-second", "Twenty-third", "Twenty-fourth", _
"Twenty-fifth", "Twenty-sixth", "Twenty-seventh", "Twenty-eighth", _
"Twenty-ninth", "Thirtieth", "Thirty-first")
xCardArr = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", _
"Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", _
"Seventeen", "Eighteen", "Nineteen")
xTensArr = Array("Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
' Extract year
xYear = CStr(Year(xRgVal))
Decades = Mid$(xYear, 3)
' Handle decades
If CInt(Decades) < 20 Then
Decades = xCardArr(CInt(Decades))
Else
Decades = xTensArr(CInt(Left$(Decades, 1)) - 2) & "-" & xCardArr(CInt(Right$(Decades, 1)))
End If
' Handle hundreds
Hundreds = Mid$(xYear, 2, 1)
If CInt(Hundreds) Then
Hundreds = xCardArr(CInt(Hundreds)) & " Hundred "
Else
Hundreds = ""
End If
' Construct English representation of the date
DateToWords = xOrdArr(Day(xRgVal) - 1) & " " & Format$(xRgVal, "mmmm") & " " & _
xCardArr(CInt(Left$(xYear, 1))) & " Thousand " & Hundreds & Decades
End Function
3. Enregistrez le code et revenez à la feuille, sélectionnez une cellule dans laquelle vous allez sortir le résultat, tapez cette formule = DateToWords (A2) (A2 est la date que vous utilisez), appuyez sur Entrer et faites glisser la poignée de remplissage automatique sur les cellules dont vous avez besoin. Voir la capture d'écran:
Bénéficiez de la commodité de convertir instantanément des nombres en mots dans Excel avec la fonctionnalité Nombres en mots de Kutools for Excel, ce qui vous fait gagner du temps et des efforts pour créer des documents d'aspect professionnel sans effort !
Articles relatifs:
- Comment convertir rapidement le format de date entre l'Europe et les États-Unis dans Excel?
- Comment convertir dD.MM.YYYY en format de date (mM / JJ / AAAA) dans Excel?
- Comment convertir entre la date et l'horodatage Unix dans Excel?
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!