Word VBA : Format(var) Le sujet est résolu

Word, PowerPoint, Outlook, Access et tous les autres logiciels de la suite Office (sauf Excel)
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 5'937
Appréciations reçues : 102
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 24 juin 2019, 10:52

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
Modifié en dernier par galopin01 le 24 juin 2019, 11:05, modifié 1 fois.
Ici c'est un forum Excel/VBA pas Photoshop :
Quand vous amenez votre voiture au garagiste vous lui donnez pas juste la photo ?
Avatar du membre
Sébastien
Administrateur
Administrateur
Messages : 2'032
Appréciations reçues : 185
Inscrit le : 4 décembre 2004
Version d'Excel : 2016 FR
Version de Sheets : FR
Contact :
Téléchargements : Mes applications

Message par Sébastien » 24 juin 2019, 11:03

Bonjour,

Essaie ça :
s = Format(i, """S""000000")
Cordialement,
Sébastien
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 5'937
Appréciations reçues : 102
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 24 juin 2019, 11:09

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
Ici c'est un forum Excel/VBA pas Photoshop :
Quand vous amenez votre voiture au garagiste vous lui donnez pas juste la photo ?
Avatar du membre
Sébastien
Administrateur
Administrateur
Messages : 2'032
Appréciations reçues : 185
Inscrit le : 4 décembre 2004
Version d'Excel : 2016 FR
Version de Sheets : FR
Contact :
Téléchargements : Mes applications

Message par Sébastien » 24 juin 2019, 11:50

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,
Sébastien
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 5'937
Appréciations reçues : 102
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 24 juin 2019, 12:18

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.
Ici c'est un forum Excel/VBA pas Photoshop :
Quand vous amenez votre voiture au garagiste vous lui donnez pas juste la photo ?
Avatar du membre
Sébastien
Administrateur
Administrateur
Messages : 2'032
Appréciations reçues : 185
Inscrit le : 4 décembre 2004
Version d'Excel : 2016 FR
Version de Sheets : FR
Contact :
Téléchargements : Mes applications

Message par Sébastien » 24 juin 2019, 13:45

galopin01 a écrit :
24 juin 2019, 12:18
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) :wink:
Sébastien
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 5'937
Appréciations reçues : 102
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 24 juin 2019, 13:55

Merci quand même : J'ai passé en revu de nombreux article Google...
L'enregistreur de macro se croise les bras... :oops:
Je vais aller voir sur Microsft.Answers...

A+
Ici c'est un forum Excel/VBA pas Photoshop :
Quand vous amenez votre voiture au garagiste vous lui donnez pas juste la photo ?
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 5'937
Appréciations reçues : 102
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 24 juin 2019, 15:54

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+
Ici c'est un forum Excel/VBA pas Photoshop :
Quand vous amenez votre voiture au garagiste vous lui donnez pas juste la photo ?
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message