[VBA] Code pour modifié format du texte dans zone de texte
Résolu
Floki72450
Messages postés
45
Statut
Membre
-
Floki72450 Messages postés 45 Statut Membre -
Floki72450 Messages postés 45 Statut Membre -
Bonjour,
J'ai un soucis sur Word lors de l'utilisation de VBA.
J'ai créé une macro VBA permettant de mettre à jour les zones de textes par l'ajout des propriété du document suite à leur modification. Cela fonctionne bien et tout ce met à jour, mais les formats du texte ne sont pas conservés ?!?
Ma question est donc : Comment forcer le changement du format d'une zone de texte par des lignes en code VBA ?
Dans mon document, il y a plusiers zones de texte, mais toutes n'ont pas un format identique, je voudrais donc qu'elles soient modifiées chacune avec un format particulier, hors comment savoir "l'identifiant" d'une zone de texte, afin de lui attribuer le bon format ?
Exemple :
- La première zone de texte ne doit pas être modifiée, car rien ne change dedans.
- le texte de la deuxième zone de texte doit être taille 20, en Franklin Gothic Medium, et avec des ombre (sur le texte, pas la zone de texte)
- le texte de la deuxième zone de texte doit être taille 22, en Franklin Gothic Medium, et avec des ombre (sur le texte, pas la zone de texte)
- le texte de la deuxième zone de texte doit être taille 24, en Franklin Gothic Medium, et avec des ombre (sur le texte, pas la zone de texte)
- le texte de mon pied de page (qui se met à jour aussi avec les propriétés du document) doit être taille 9, en Franklin Gothic Medium, et avec des ombre (sur le texte, pas la zone de texte)
Ce que je souhaite est-il réalisable ?
Lien pour obtenir le fichier : http://www.cjoint.com/c/FBciqpNRv10
PS : Dans le fichier joint, si vous modifier le commentaire dans les propriétés du document, et en cliquant sur la barre tout en haut de la première page, cela met à jour les donnée des zones de texte de la page. Vous verrez alors que les formats ne sont par respectés.
Merci par avance de votre aide
Cordialement
Floki72450
J'ai un soucis sur Word lors de l'utilisation de VBA.
J'ai créé une macro VBA permettant de mettre à jour les zones de textes par l'ajout des propriété du document suite à leur modification. Cela fonctionne bien et tout ce met à jour, mais les formats du texte ne sont pas conservés ?!?
Ma question est donc : Comment forcer le changement du format d'une zone de texte par des lignes en code VBA ?
Dans mon document, il y a plusiers zones de texte, mais toutes n'ont pas un format identique, je voudrais donc qu'elles soient modifiées chacune avec un format particulier, hors comment savoir "l'identifiant" d'une zone de texte, afin de lui attribuer le bon format ?
Exemple :
- La première zone de texte ne doit pas être modifiée, car rien ne change dedans.
- le texte de la deuxième zone de texte doit être taille 20, en Franklin Gothic Medium, et avec des ombre (sur le texte, pas la zone de texte)
- le texte de la deuxième zone de texte doit être taille 22, en Franklin Gothic Medium, et avec des ombre (sur le texte, pas la zone de texte)
- le texte de la deuxième zone de texte doit être taille 24, en Franklin Gothic Medium, et avec des ombre (sur le texte, pas la zone de texte)
- le texte de mon pied de page (qui se met à jour aussi avec les propriétés du document) doit être taille 9, en Franklin Gothic Medium, et avec des ombre (sur le texte, pas la zone de texte)
Ce que je souhaite est-il réalisable ?
Lien pour obtenir le fichier : http://www.cjoint.com/c/FBciqpNRv10
PS : Dans le fichier joint, si vous modifier le commentaire dans les propriétés du document, et en cliquant sur la barre tout en haut de la première page, cela met à jour les donnée des zones de texte de la page. Vous verrez alors que les formats ne sont par respectés.
Merci par avance de votre aide
Cordialement
Floki72450
A voir également:
- Vba format texte
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
- [Excel VBA] Formater une cellule en texte ✓ - Forum VB / VBA
1 réponse
Bonjour,
Voici un exemple a adapter à la configuration. J'ai mis une MsgBox pour connaitre le nom des shapes. Ensuite je me suis amusé à modifier une shape avec un peu de fantaisie :-)
Voici un exemple a adapter à la configuration. J'ai mis une MsgBox pour connaitre le nom des shapes. Ensuite je me suis amusé à modifier une shape avec un peu de fantaisie :-)
Private Sub CommandButton1_Click()
Dim oField As Field
Dim oSection As Section
Dim oHeader As HeaderFooter
Dim oFooter As HeaderFooter
Dim oSh As Shape
For Each oSection In ActiveDocument.Sections
For Each oFooter In oSection.Footers
If oFooter.Exists Then
For Each oField In oFooter.Range.Fields
oField.Update
Next oField
End If
Next oFooter
For Each oHeader In oSection.Headers
If oHeader.Exists Then
For Each oField In oHeader.Range.Fields
oField.Update
Next oField
End If
Next oHeader
Next oSection
'Boucle sur tous les shapes du document
For Each oSh In ActiveDocument.Shapes
'Selection du Shapes
oSh.Select
MsgBox oSh.Name ' pour connaitre le nom des shapes
If oSh.Name = "Rectangle 15" Then
'exemple a adapter
oSh.Select
With Selection
.Font.Size = 22
.Font.Name = "Franklin Gothic Medium"
.Font.Bold = True
.Font.Color = wdColorRed
End With
End If
'Mise à jour des champs
Selection.Fields.Update
Next oSh
For Each champ In ActiveDocument.Range.Fields
champ.Update
Next champ
ActiveDocument.PrintPreview
ActiveDocument.ClosePrintPreview
ActiveDocument.PrintPreview
ActiveDocument.ClosePrintPreview
End Sub
Tout d'abord un grand MERCI à toi, cela m'a permis de beaucoup avancer dans mon projet ! J'ai donc réussi à faire la mise en format des zones de textes que je voulais, taille, couleur, police, j'ai même rajouter le fait d'avoir une police ombrée ! Donc merci
Cependant : J'aimerai faire quelques lignes de code pour mettre en forme mes pieds de pages avec ces propriétés :
.Font.Size = 9
.Font.Name = "Franklin Gothic Medium"
.Font.Bold = True
.Font.Color = wdColorBlack
J'ai tenter d'utiliser les premières lignes de codes qui permettent de mettre à jour les champs des pieds de pages, mais je n'arrive pas à leur insérer une mise en format spéciale...
Peut tu m'aider ?
Merci d'avance :)
Au passage, voici mon code VBA dans l'état actuel et au point (manque la mise en format des pieds de pages...) :
Sub Pied_de_page() WordBasic.ViewFooterOnly With Selection .Font.Size = 9 .Font.Name = "Franklin Gothic Medium" .Font.Bold = True .Font.Color = wdColorBlack End With End SubVoilà
@+