IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Macro pour modifier tous les fichiers d'un dossier


Sujet :

VBA Word

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Avril 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Macro pour modifier tous les fichiers d'un dossier
    bonjour,

    J'ai besoin d'aide pour créer une macro qui me permettrait de modifier plusieurs fichiers contenu dans un répertoire.

    J'ai une bibliothèque de lettres pré-rédigées qui contient environ 250 lettres réparti dans plusieurs répertoires (organiser par thème et marché).

    Suite à une réorganisation de la direction, je dois modifier sur l'ensemble des lettres le nom de la direction et des sous-directions.
    J'ai créé des macros qui me facilite la tâche mais je dois quand même ouvrir chaque lettre pour exécuter les macros qui modifient automatiquement les noms contenus dans les lettres. (je joins les macros que j'ai rédigé)
    Ces macros fonctionnent très bien et me fait gagner du temps, mais est-il possible de créer une macro permettant d'ouvrir toutes les lettres contenus dans un dossier et de les modifier et les enregistrer sans être obligé de les ouvrir une à une ?
    Je n'ai pas trouvé et mes connaissances en VBA ne sont pas suffisantes.
    Si quelqu'un à une idée ou une piste je prend !

    Merci beaucoup

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    'Ouvre le répertoire des lettres et déprotège la lettre après  l’avoir sélectionnée
    Sub OuvreFichierBibliotheque()
    Dim dlgOpen As FileDialog, NomFichier As String
     
        Set dlgSaveAs = Application.FileDialog( _
            FileDialogType:=msoFileDialogOpen)
        dlgSaveAs.InitialFileName = "\\societe.mma.fr\mmaracine\GROUPE1\GPBDQSCS\5.1-bibliothequeDeLettres09-2018\Bibliothèque de lettres pré-rédigées"
        dlgSaveAs.Show
        dlgSaveAs.Execute
     
        With ActiveDocument
            .Unprotect "000000"
        End With
    End Sub
    'Enregistrement de la lettre dans le répertoire lecture seule à destination des utilisateurs
    Sub EnregistLectSeuleMaBib()
        Dim dlgSaveAs As FileDialog, NomFichier As String
         With ActiveDocument
            .ReadOnlyRecommended = True
            .Protect wdAllowOnlyFormFields, , "000000"
        End With
        Application.DisplayAlerts = wdAlertsNone
        NomFichier = ActiveDocument.Name
        Set dlgSaveAs = Application.FileDialog( _
            FileDialogType:=msoFileDialogSaveAs)
        dlgSaveAs.InitialFileName = "\\societe.xxxxxx.fr\mmaracine\GROUPE1\GPBDQSCS\5.1-bibliothequeDeLettres09-2018\Bibliothèque lecture seule\" & NomFichier
        dlgSaveAs.Show
        dlgSaveAs.Execute
    End Sub
    ______________________________________________________________________________________________
    'Enregistrement de la lettre dans le répertoire en non lecture seule pour administration
    Sub EnregistMaBib()
          Dim dlgSaveAs As FileDialog, NomFichier As String
        With ActiveDocument
            .Unprotect "000000"
            .ReadOnlyRecommended = False
            .Protect wdAllowOnlyFormFields, , "000000"
        End With
         NomFichier = ActiveDocument.Name
         Set dlgSaveAs = Application.FileDialog( _
            FileDialogType:=msoFileDialogSaveAs)
          dlgSaveAs.InitialFileName = "\\societe.xxxxx.fr\mmaracine\GROUPE1\GPBDQSCS\5.1-bibliothequeDeLettres09-2018\Bibliothèque de lettres pré-rédigées\" & NomFichier
          dlgSaveAs.Show
          dlgSaveAs.Execute
        Application.DisplayAlerts = wdAlertsNone
     
        ActiveDocument.Save
        Documents.Close
    End Sub
    _______________________________________________________________________________________________
    ‘Macro regroupant les deux macros d’enregistrement dans les 2 différents répertoires
    Sub MacroPrincipaleDocEnre()
      EnregistLectSeuleMaBib
      EnregistMaBib
    End Sub
    ______________________________________________________________________________________________
     
     
     
    ' Remplacement de l’ancien nom de la direction par le nouveau nom
    Sub MacroModifNomDCE()
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = "Direction Centrale Entreprises"
            .Replacement.Text = "Développement Entreprises"
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute
        With Selection
            If .Find.Forward = True Then
                .Collapse Direction:=wdCollapseStart
            Else
                .Collapse Direction:=wdCollapseEnd
            End If
            .Find.Execute Replace:=wdReplaceOne
            If .Find.Forward = True Then
                .Collapse Direction:=wdCollapseEnd
            Else
                .Collapse Direction:=wdCollapseStart
            End If
            .Find.Execute
        End With
    End Sub
    _______________________________________________________________________________________________
    'Modification dans  la liste déroulante des noms des sous-directions
    Sub AlimentationListeDeroulante()
    Dim ListeDeroulante As ContentControl
     
    Set ListeDeroulante = ActiveDocument.ContentControls(1)
      ListeDeroulante.DropdownListEntries.Clear
      ListeDeroulante.DropdownListEntries.Add "Marché Entreprises"
      ListeDeroulante.DropdownListEntries.Add "Marché Professionnels"
      ListeDeroulante.DropdownListEntries.Add "Opérations Entreprises"
     
     Set ListeDeroulante = Nothing
    End Sub
    ______________________________________________________________________________________________
    'Macro regroupant les macros pour ouvrir répertoire, remplacer le nom de la direction et modifier la liste déroulantes des sous -directions
    Sub MacroPrincipaleDCME1()
      OuvreFichierBibliotheque
      MacroModifNomDCE
      AlimentationListeDeroulante
      EnregistLectSeuleMaBib
      EnregistMaBib
     
      End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par fchoupinette Voir le message
    Bonjour,

    Je ne vous apporte pas directement la réponse, seulement une piste.

    Ce billet dans mon blog montre un exemple de concaténation de fichier .dat. Ce qui peut vous intéresser c'est la prise en compte des fichiers à modifier dans le liste à liste de la boite de dialogue moyennant la modification du filtre relatif au type de fichiers et l'élimination des critères sur les dates (cf ChargerLesFichiersDansLaBoiteDeDialogue). word-vba-concatener-fichiers-dat-sauvegarde-rtf-partir-document-word-docm

    Bon courage.

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Avril 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Avril 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour la réponse.
    Je vais creuser la piste

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/12/2011, 18h20
  2. [XL-2003] Comment rendre une macro VBA accessible à tous les fichiers .xls
    Par Toto_le_héros38 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/01/2011, 21h23
  3. [XL-2003] Exécuter une macro sur tous les fichiers d'un dossier.
    Par ahmet dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/10/2009, 09h49
  4. code pour calculer tous les fichiers du dossier
    Par linel dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/02/2009, 16h49
  5. Ouvrir tous les fichiers d'un dossier sauf celui de ma macro?
    Par drthodt dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/07/2008, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo