Nombres en texte, prenez trois (plus d’un million) (Microsoft Word)
Dans les numéros précédents de WordTips, vous avez appris à utiliser une macro pour convertir des nombres en mots. Par exemple, vous pouvez convertir 123 en cent vingt-trois. Les incarnations précédentes de cette macro étaient limitées à des nombres inférieurs à un million. Dans cette version, la mise a été augmentée mille fois – cette version de la macro VBA convertira avec succès des nombres jusqu’à 999 999 999.
Sub BigCardText() Dim sDigits As String Dim sBigStuff As String sBigStuff = "" ' Select the full number in which the insertion point is located Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdMove Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend ' Store the digits in a variable sDigits = Trim(Selection.Text) If Val(sDigits) > 999999 Then If Val(sDigits) <= 999999999 Then sBigStuff = Trim(Int(Str(Val(sDigits) / 1000000))) ' Create a field containing the big digits and ' the cardtext format flag Selection.Fields.Add Range:=Selection.Range, _ Type:=wdFieldEmpty, Text:="= " + sBigStuff + " \* CardText", _ PreserveFormatting:=True ' Select the field and copy it Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend sBigStuff = Selection.Text & " million " sDigits = Right(sDigits, 6) End If End If If Val(sDigits) <= 999999 Then ' Create a field containing the digits and the cardtext format flag Selection.Fields.Add Range:=Selection.Range, _ Type:=wdFieldEmpty, Text:="= " + sDigits + " \* CardText", _ PreserveFormatting:=True ' Select the field and copy it Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend sDigits = sBigStuff & Selection.Text ' Now put the words in the document Selection.TypeText Text:=sDigits Selection.TypeText Text:=" " Else MsgBox "Number too large", vbOKOnly End If End Sub
Vous devez comprendre que pour utiliser la macro, tout ce que vous avez à faire est de placer le point d’insertion n’importe où dans le nombre que vous souhaitez convertir. Vous devez cependant vous assurer que le numéro ne contient pas d’informations superflues, telles que des signes dollar ou des virgules. Lorsque vous exécutez BigCardText, la macro vérifie si le nombre sélectionné est supérieur à un million. Si tel est le cas, cela fonctionne d’abord sur la partie supérieure à un million, en la convertissant en mots. Ensuite, la valeur inférieure à un million est convertie. Le libellé final et complet est assemblé et collé dans le document, prêt à être utilisé.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
WordTips est votre source pour une formation Microsoft Word rentable.
(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (1442) s’applique à Microsoft Word 97, 2000, 2002 et 2003.