Signaler

Macro ou autre pour modifier tous les fichiers d'un dossier [Résolu]

Posez votre question Yvouille61 36Messages postés mercredi 25 mars 2015Date d'inscription 15 octobre 2017 Dernière intervention - Dernière réponse le 15 août 2017 à 20:23 par Yvouille61
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
Utile
+0
plus moins
Bonsoir,

Tu crées la macro pour un fichier et tu utilises la batch macro que j'ai mise ici :
http://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
Donnez votre avis
Utile
+0
plus moins
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.
m@rina 13742Messages postés mardi 12 juin 2007Date d'inscription ContributeurStatut 16 octobre 2017 Dernière intervention - 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
http://www.cjoint.com/c/GHpaTdHcMwl

m@rina
Répondre
Donnez votre avis
Utile
+0
plus moins
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.
eriiic 21108Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 18 octobre 2017 Dernière intervention - 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
Répondre
Donnez votre avis
Utile
+0
plus moins
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
eriiic 21108Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 18 octobre 2017 Dernière intervention - 15 août 2017 à 19:20
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
Répondre
Donnez votre avis
Utile
+0
plus moins
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
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !