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.