Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/06/2007, 21h12   #1
Invité de passage
 
Inscription : juin 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 9
Points : 0
Points : 0
Par défaut changer la taille de la police de certains mots

Bonjour,

mon petit soucis est le suivant:

J'ai un texte de 100 pages écrit avec deux polices différentes

1er police: Arial taille 12
2e police: matura taille 11

Je souhaite que la macro recherche les mots écrits dans la deuxieme police et qu'elle fasse passer leur taille à 16.

J'espère que cette manoeuvre est possible ! Merci beaucoup d'avance.

PS: je suis vraiment débutant dans les macros.
bateau_a_voile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2007, 21h54   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 351
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 351
Points : 29 264
Points : 29 264
Bonjour et bienvenue sur les Forum Office de DVP.

Oui, c'est possible, il faut parcourir le document mot par mot, vérifier l'attribut font du mot et en changer la taille le cas échéant.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
Sub changertaille()
Dim i As Integer
Dim j As Integer
 
i = ActiveDocument.Words.Count
Debug.Print i
 
For j = 1 To i
Debug.Print ActiveDocument.Words(j).Font.Name
    If ActiveDocument.Words(j).Font.Name = "Arial" Then ActiveDocument.Words(j).Font.Size = 20
    j = j + 1
 
Next j
End Sub
en vistesse.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2007, 23h02   #3
Invité de passage
 
Inscription : juin 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 9
Points : 0
Points : 0
Par défaut Merci, ça fonctionne mais...

Re-bonsoir,

j'ai utilisé le code et ça fonctionne pour la police "Arial" mais j'ai essayé pour une police dite script complexe et ça ne fonctionne pas.

j'ai remplacé et ça donne ça:

If ActiveDocument.Words(j).Font.Name = "Traditional Arabic" Then ActiveDocument.Words(j).Font.Size = 2

Que faire s'il vous plait ?


merci.
bateau_a_voile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 06h53   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 351
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 351
Points : 29 264
Points : 29 264
Et si tu remplace par Matura !!
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 08h15   #5
Invité de passage
 
Inscription : juin 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 9
Points : 0
Points : 0
Par défaut non plus !

Bonjour,

dans mon texte, il y a deux polices:

1er police: arial => ça fonctionne le changement de taille grace à la macro

2e police: Traditional Arabic => ça ne fonctionne pas avec la macro.

Remarque: peut être est ce que c'est parce que "Traditional Arabic" est un script complexe s'écrivant de droite à gauche ? (j'ai essayé avec du chinois ça ne fonctionne pas non plus)

je ne sais vraiment pas pourquoi ça ne fonctionne pas. Que faire ?

Merci.
bateau_a_voile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 08h44   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 351
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 351
Points : 29 264
Points : 29 264
Essaie de récupérer le font name en vba pour voir.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 09h10   #7
Invité de passage
 
Inscription : juin 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 9
Points : 0
Points : 0
Par défaut Et comment je m'y prends pour récupérer le font name ?

re,

oui je suis vraiment super débutant et je t'avoue que je ne sais pas faire cette récupération de FONT NAME à l'aide de VBA.

je suis en train de chercher et ce n'est pas évident mais j'y arriverai j'espère il faut que j'apprenne !

merci en tout cas pr cette piste.

A+
bateau_a_voile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 09h20   #8
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 351
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 351
Points : 29 264
Points : 29 264
Code :
ActiveDocument.Words(j).Font.Name
Dans le code que je t'ai donné, j'utilise ce morceau pour faire un test/

Si tu fais

Code :
MsgBox ActiveDocument.Words(j).Font.Name
Tu auras pour chaque mot une boîte de message avec le Nom de police.

Je te conseille de copier quelques mots dans un nouveau document et de copier la macro dans ce document et la lancer.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 10h15   #9
Invité de passage
 
Inscription : juin 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 9
Points : 0
Points : 0
Par défaut merci, oui ça me donne bien le nom de la police utilisée

je vous remercie beaucoup, c'était super ce msgbox


En tout cas, msgbox me renvoie bien le nom de la police que j'utilise il me donne "Traditional Arabic"

C'est bon signe ? que dois je faire dans ce cas ?

Merci beaucoup.
bateau_a_voile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 10h39   #10
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 351
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 351
Points : 29 264
Points : 29 264
Est-ce que manuellement, tu peux changer la taille de la police de caractère ?

Si c'est le bon nom de police, je ne vois rein d'autre qui pourrais débloquer la situation, je suis à court.

Maintenant, Hors VBA, on peut le faire avec un style basé sur le caractère et pas sur le paragraphe.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 10h50   #11
Invité de passage
 
Inscription : juin 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 9
Points : 0
Points : 0
Par défaut oui manuellement j'arrive à changer la taille de police

je vais esssayer ce que tu m'as indiqué concernant la notion de style

je te re bip ensuite

a tout de suite

et encore merci
bateau_a_voile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 11h24   #12
Invité de passage
 
Inscription : juin 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 9
Points : 0
Points : 0
Par défaut je n'ai pas réussi, dois je me résigner ?

je n'arrive pas faire ce qui est en mode style

car je constate que dans mon texte y a plein de style déjà.

merci d'avoir essayer de m'aider

j'aurai au moins appris à faire un Msgbox !
bateau_a_voile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 12h43   #13
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Juste une idée : Tu dis avoir deux polices de caractères.
Citation:
J'ai un texte de 100 pages écrit avec deux polices différentes
Tu testes ta police avec Arial. Ce qui n'est pas Arial, est donc "l'autre". Tu l'as ta police. Et avec le code de l'heureux Oli, tu modifies la taille
Code :
1
2
3
4
5
6
7
For j = 1 To i
Debug.Print ActiveDocument.Words(j).Font.Name
    If ActiveDocument.Words(j).Font.Name = "Arial" Then ActiveDocument.Words(j).Font.Size = 20
    j = j + 1
    else
        ActiveDocument.Words(j).Font.Size = 16
Next j
Sauf si je n'ai pas tout compris
A+

PS - Pour le "j = j + 1" tu adaptes, je n'ai pas tout suivi.
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 12h52   #14
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 351
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 351
Points : 29 264
Points : 29 264
+1
Joli !!
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 14h12   #15
Invité de passage
 
Inscription : juin 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 9
Points : 0
Points : 0
Par défaut merci c'était ingénieux ! ELSE...mais

Merci tout d'abord de m'aider à agrandir la police de ces mots écrits en une autre langue.

mais dommage même avec ELSE ça fonctionne pas.

en résumé:

j'ai un texte de 100 pages (cours de langues) dans lequel il y a:

police 1: Arial
police 2 : Traditional Arabic

ce qui a été fait:

1/ mamnuellement j'arrive à changer chaque mots en une police plus grande grace à word c'est simple.

2/ j'ai voulu utiliser VBA pr automatiser la procédure.

3/ la procédure semble fonctionner que sur des scripts c'est à dire des polices latines. or la police que je veu agrandir est dite "script complexe" ça me le dit dans la mise en forme.

voilà..d'autres idées ?

Je pense qu'à défaut je devrai je faire manuellement...mais en tt cas ça me donne vraiment envie de m'y mettre à VBA.

Merci à tous !
bateau_a_voile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 14h28   #16
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 351
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 351
Points : 29 264
Points : 29 264
Peut-être une petite dernière, télécharger le Add-in qui permet de faire une sauvegarde en Version 2007 .docx.
Changer l'extension de docx en zip.
Ouvrir le zip, chercher l'endroit dans les xml où sont les taille de police et les modifier, refaire le chemin inverse.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 15h29   #17
Invité de passage
 
Inscription : juin 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 9
Points : 0
Points : 0
Par défaut j'ai pas compris grand chose au addin, mais..

re,

je ne sais pas trop où trouver cette addin mm si j'ai compris comment faire...

en tt cas merci à tous !
bateau_a_voile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/06/2007, 15h34   #18
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 351
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 351
Points : 29 264
Points : 29 264
Ici le lien

L'explication
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h33.


 
 
 
 
Partenaires

Hébergement Web