Macro ou autre pour modifier tous les fichiers d'un dossier

Résolu/Fermé
Yvouille61 Messages postés 57 Date d'inscription mercredi 25 mars 2015 Statut Membre Dernière intervention 28 octobre 2023 - 10 août 2017 à 22:08
Yvouille61 Messages postés 57 Date d'inscription mercredi 25 mars 2015 Statut Membre Dernière intervention 28 octobre 2023 - 15 août 2017 à 20:23
Bonjour,

Je recherche une solution afin de pouvoir modifier une des options de plusieurs fichiers Word en une seule fois.

J'ai imaginé qu'il devait être possible de placer un fichier quelconque comportant une macro dans un dossier et que tous les documents de ce dossier, de ses sous-dossiers, de ses sous-sous-dossiers, etc. soient traiter en une seule fois (je saurais le faire en Excel pour des fichiers Excel, mais je n'ai aucune idée des macros Word).

L'option à modifier est dans le menu Mise en page / Coupure des mots. Il faudrait modifier de ''Automatique'' à ''Aucun''.

Cordialement.

Yvouille
A voir également:

5 réponses

m@rina Messages postés 19995 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 14 avril 2024 11 267
11 août 2017 à 03:05
Bonsoir,

Tu crées la macro pour un fichier et tu utilises la batch macro que j'ai mise ici :
https://faqword.com/index.php/word/gestion-des-macros/688-comment-executer-sur-une-serie-de-fichiers-une-macro-creee-pour-un-seul-fichier

m@rina
1
Yvouille61 Messages postés 57 Date d'inscription mercredi 25 mars 2015 Statut Membre Dernière intervention 28 octobre 2023
13 août 2017 à 22:25
Salut Marina,

Merci beaucoup pour ta réponse.

J’ai copié le texte de la ‘’ Public Sub BatchMacro_v2’’ et l’ai collé dans un module du fichier ‘’Normal’’.

Comme la ligne ‘’ Attribute VB_Name = "BatchMacro_v2" devenait rouge, je l’ai mise en commentaire.

Après avoir lancé ta macro, je dois choisir des fichiers dans un dossier, mais mes fichiers Word ne sont pas visibles à ce moment-là. Je vois par exemple le fichier LisezMoi qui est de type ‘’Format RTF’’, mais pas mes fichiers Word qui sont de type ‘’Document Microsoft Word’’.

Que fais-je de faux ?

Amicalement.
0
m@rina Messages postés 19995 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 14 avril 2024 11 267
15 août 2017 à 02:45
Bonjour,

Cette macro est effectivement, faut que je la remette au goût du jour.
Tu peux la prendre ici, je l'ai modifiée
https://www.cjoint.com/c/GHpaTdHcMwl

m@rina
0
Yvouille61 Messages postés 57 Date d'inscription mercredi 25 mars 2015 Statut Membre Dernière intervention 28 octobre 2023
Modifié le 15 août 2017 à 14:14
Salut Marina,

Merci bien pour ta réponse et pour ta nouvelle macro.

J'ai voulu télécharger ton code, mais il apparait avec plein de signes spéciaux en remplacement des é, des à, etc., selon l'extrait ci-dessous :

Attribute VB_Name = "BatchMacro_v2"
Option Explicit

Public Sub BatchMacro_v2()
' Ex�cute une macro par lot sur une s�rie de fichiers
' Version l�g�re � partir de WD2002 seulement : utilise le FilePicker
' Anacoluthe pour le MPFW et la FAQ � m@rina

Dim NomMacro As String
Dim vFichier As Variant
Dim RetourDL As Long
Dim NbFichOK As Integer

' 1- S�lection des fichiers
' Le FilePicker permet de s�lectionner le r�pertoire puis dedans
' des fichiers avec Maj ou Ctrl ou tous les fichiers avec Ctrl+A
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.Title = "BATCH: S�lectionner les fichiers � traiter"
fd.Filters.Add _
"Documents", "*.doc; *.dot; *.docx; *.docm; *.dotm; *.dotx; *.rtf", 1


As-tu une solution simple afin de fournir un code utilisable, autrement pas de problème, je me lance dans sa correction manuelle.

NB : Je n'ai pas trouvé comment joindre des fichiers !?

Cordialement.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 207
15 août 2017 à 14:36
Bonjour,

ouvre le .bas dans un éditeur de texte comme notepad et copie-colle dans le module.
Maintenant si tu es sur Mac il faudra peut-être changer les lettres accentuées.
eric
0
Yvouille61 Messages postés 57 Date d'inscription mercredi 25 mars 2015 Statut Membre Dernière intervention 28 octobre 2023
Modifié le 15 août 2017 à 18:55
Re-bonjour,

@Eriiic,
J’ai cru que tu ne t’occupais que d’Excel :-) Enfin si c’est bien toi que je croise de temps en temps sur Excel-Pratique. Merci beaucoup pour ton aide, je suis arrivé à m’en sortir grâce à toi.

@ Marina
Donnerweter ! Que voilà une macro intéressante et surprenante. Et dépannante :-) Ca fonctionne superbement bien.

Par contre j’ai un petit problème car je souhaite modifier la ‘’Mise en page/Coupure des mots’’ d’un certains nombres de fichiers grâce à ce code, mais je n’arrive pas à trouver la bonne instruction pour passer – en ce qui concerne la coupure des mots – de ''Aucun'' à ''Manuel'' à ''Automatique''. L’enregistreur n’enregistre rien à ce propos.

Pouvez-vous encore m’aider sur ce coup-là ?

Très bonnes salutations.
Yvouille
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 207
Modifié le 15 août 2017 à 19:23
Si c'est toi que je croise alors c'est moi oui ;-)
Word, c'est plus du bricolage pour moi, je ne connais pas et je fouille...
En fouillant j'ai trouvé ça d'ailleurs :
With ActiveDocument
    .AutoHyphenation = False
    .HyphenateCaps = False
    .HyphenationZone = CentimetersToPoints(0.8)
    .ConsecutiveHyphensLimit = 0
End With

J'ai l'impression qu'il en manque au moins un mais je n'ai plus d'imagination :-s
eric

Edit : ah, le voilà : ActiveDocument.ManualHyphenation
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Yvouille61 Messages postés 57 Date d'inscription mercredi 25 mars 2015 Statut Membre Dernière intervention 28 octobre 2023
15 août 2017 à 20:23
Et, c'est super !

Effectivement qu'avec les insctructions
ActiveDocument.AutoHyphenation = True
ActiveDocument.AutoHyphenation = False
on peut inverser la coupure des mots de ''Aucun'' à ''Automatique'' (tout les reste n'étant qu'options supplémentaires) ou lancer le contrôle de la coupure manuellement par
ActiveDocument.ManualHyphenation

C'est parfait, merci beaucoup.

Yvouille
0