Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
S'inscrire  \/ 
x

or

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.
doc date aux mots 1

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
'UpdatebyExtendoffice20170926
    Dim xYear As String
    Dim Hundreds As String
    Dim Decades As String
    Dim xTensArr As Variant
    Dim xOrdArr As Variant
    Dim xCardArr As Variant
    xOrdArr = Array("First", "Second", "Third", _
                   "Fourth", "Fifth", "Sixth", _
                   "Seventh", "Eighth", "Nineth", _
                   "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-nineth", "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")
    xYear = CStr(Year(xRgVal))
    Decades = Mid$(xYear, 3)
    If CInt(Decades) < 20 Then
        Decades = xCardArr(CInt(Decades))
    Else
        Decades = xTensArr(CInt(Left$(Decades, 1)) - 2) & "-" & _
                xCardArr(CInt(Right$(Decades, 1)))
    End If
        Hundreds = Mid$(xYear, 2, 1)
    If CInt(Hundreds) Then
        Hundreds = xCardArr(CInt(Hundreds)) & " Hundred "
    Else
        Hundreds = ""
    End If
    DateToWords = xOrdArr(Day(xRgVal) - 1) & _
                  Format$(xRgVal, " mmmm ") & _
                  xCardArr(CInt(Left$(xYear, 1))) & _
                  " Thousand " & Hundreds & Decades
End Function

doc date aux mots 2

3. Enregistrez le code et revenez à la feuille, sélectionnez une cellule dans laquelle vous allez sortir le résultat, tapez cette formule = DateToWords (A1) (A1 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:
doc date aux mots 3


Nombres en mots

doc épeler le numéro 1

Articles relatifs:


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement 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!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    sheynes · 5 months ago
    I would like to add text to the output, for instance, 1958 gets converted to One Thousand Nineteen Hundred Fifty Eight and I would like it to say One Thousand Nineteen Hundred and Fifty Eight. Can someone give me an example of how I can do this please?
  • To post as a guest, your comment is unpublished.
    niraj · 6 months ago
    thank u for helping me . very useful in converting date of birth in word
  • To post as a guest, your comment is unpublished.
    JAYANTHI KRISHNAN · 1 years ago
    Sir/Madam

    It is very useful for me.

    Really Amazing and helped to solve the problem within a minute.

    Thank you for uploading this document. Very nice


  • To post as a guest, your comment is unpublished.
    rahul · 1 years ago
    how to use this code in vb6 for a textbox

  • To post as a guest, your comment is unpublished.
    Prajapati Gunvant · 2 years ago
    date to word in gujarati language avilable ? please answer me. 9427909038
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      I think it does not work for other languages except english.
  • To post as a guest, your comment is unpublished.
    Sam · 2 years ago
    Hello can we also do this in word docx?
  • To post as a guest, your comment is unpublished.
    kzia303@gmail.com · 3 years ago
    its work good but i want for 90's "Nineteen Hundred " not "One thousand Nine hundred "... thanks!
    • To post as a guest, your comment is unpublished.
      Arjun · 2 years ago
      "Nineteen Hundred" is spoken English, it's wrong actually.
    • To post as a guest, your comment is unpublished.
      Sunny · 2 years ago
      Sorry, zia khan, I do not what you mean that convert 90 to nineteen hundred. The VBA only can convert date to words, the Split Out Number utiity convert numbers to English currency words
  • To post as a guest, your comment is unpublished.
    Alok Ghosh · 3 years ago
    Excellent...
  • To post as a guest, your comment is unpublished.
    arthurpwiggle@gmail.com · 3 years ago
    Fixed the hyphen after the 20, 30, 40, etc.

    Add this after "If CInt(Decades) < 20 Then
    Decades = xCardArr(CInt(Decades))"

    ElseIf CInt(Decades) Like "*0" Then
    Decades = xTensArr(CInt(Left$(Decades, 1)) - 2)
    • To post as a guest, your comment is unpublished.
      Shahzad Ahmad · 1 years ago
      Well, its work, nice, but some problems of format are here, as 1975 (Nineteen Thousands Seventy-Five) not (One Thousands Nine Hundred Seventy-Five), But in 20+ case the format is correct as 2011 (Two Thousands Eleven), and also the second problem is (singular/plural), here (One Thousands, Two Thousand, One Hundreds, Nine Hundred), Please solve these, thanks
  • To post as a guest, your comment is unpublished.
    Ben · 3 years ago
    This puts a hyphen after decades over 20 that end in zero.
  • To post as a guest, your comment is unpublished.
    Muhammad Hafiz · 3 years ago
    datetowords Formula has not working in all exall files

    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Sorry, could you tell me which type of excel files cannot work?