Word VBA : Format(var)

Bonjour,

Je m'initie à Word !

Pour simplifier...

Dans un programme Word, on récupère une variable integer :

i = 12

Comment la transformer en String "S" + 6 Digit

s = "S000012"

autre exemple : si i = 135

s = "S000135"

J'ai déjà ça :

Select Case i
Case Is < 10: ss = "S00000"
Case Is < 100: ss = "S0000"
Case Is < 1000: ss = "S000"
Case Is < 10000: ss = "S00"
Case Is < 100000: ss = "S0"
Case Else: ss = "S"
End Select
s = ss & i

Mais j'aurais aimé quelque chose de moins "bourrin"...

Question subsidiaire :

Comment écrire

Dim mot as  ???
Set mot = '?? (premier mot de la ligne active)

Merci

Bonjour,

Essaie ça :

s = Format(i, """S""000000")

Cordialement,

Bonjour Sebastien,

Quelle rapidité ! Bien vu !

J'ai même pas eu le temps de poser ma question subsidiaire :

Dim mot as  ???
Set mot = '?? (premier mot de la ligne active)

Merci

Une possibilité :

ligne = "Texte d'exemple 123" 'Texte pour l'exemple

mot = Split(ligne, " ")(0) 'Renvoie : Texte

Si tu veux déclarer mot (facultatif) :

Dim mot As String

Cordialement,

Je veux sélectionner le premier mot de la ligne active... (pour lui appliquer un traitement)

Nota : C'est également le premier mot du paragraphe en cours.

Je veux sélectionner le premier mot de la ligne active... (pour lui appliquer un traitement)

Nota : C'est également le premier mot du paragraphe en cours.

Dans ce cas, je vais laisser quelqu'un d'autre répondre à ta seconde question (je n'utilise pas Word)

Merci quand même : J'ai passé en revu de nombreux article Google...

L'enregistreur de macro se croise les bras...

Je vais aller voir sur Microsft.Answers...

A+

Je donne la réponse :

Sub test()
Dim s As String
s = Selection.Paragraphs(1).Range.Words(1)
MsgBox s
End Sub

Nota : Cette syntaxe suppose que le premier mot ne comporte que des caractères alphabétiques et/ou quelques caractères spéciaux (#...)

Les caractères numériques ne sont pas pris en charge...

A+

Rechercher des sujets similaires à "word vba format var"