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 VBA word [WD-365]


Sujet :

VBA Word

  1. #1
    Candidat au Club
    Femme Profil pro
    Statisticienne
    Inscrit en
    Juillet 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Statisticienne

    Informations forums :
    Inscription : Juillet 2019
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Macro VBA word
    Bonjour à tous,
    Je viens de changer de PC et ma super macro VBA ne fonctionne plus. L’objectif de cette macro est de fusionner des documents words afin de faire un rapport final, les noms des documents words sont incrémentés (0_page_garde.doc, 1_intr0.doc,2_analyses.doc par exemple.).
    Bref, n’y connaissant rien à VBA je me permets de vous solliciter. Le programme est le suivant et j’ai un problème à l’exécution de la ligne Windows(2).Activate.

    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
    Sub Insertion_doc_doc()
    '
    ' INSERTION_DOCUMENT_doc() Macro
    ' Concatène tous les fichiers word d'un dossier en un document unique
    '
     
        Dim Nomfic, Direct As String
        Dim reponse
        Dim FS As Object
        Dim objFold As Object
        Dim objFic As Object
        Dim intI As Integer
        Set FS = CreateObject("Scripting.FileSystemObject")
     
    ' SELECTION DU REPERTOIRE OU SE SITUENT LES FICHIERS TIF
        With Dialogs(wdDialogFileFind)
            .Show
    '        MsgBox .SearchPath
            Direct = .SearchPath
        End With
        With Dialogs(wdDialogFileFind)
    '        .Show
    '        MsgBox .SearchPath
            Direct = .SearchPath
        End With
        Set objFold = FS.getfolder(Direct)
     
        If objFold.Files.Count > 0 Then
            Debug.Print Direct
            intI = 0
            For Each objFic In objFold.Files
                If Right(objFic.Name, 3) = "doc" Then
                    intI = intI + 1
                    Debug.Print intI
                End If
            Next objFic
            If intI > 0 Then
                reponse = MsgBox("Souhaitez vous intégrer les " & intI & "fichier(s) word contenus dans le dossier.", vbOKCancel)
                For Each objFic In objFold.Files
                    If reponse = vbOK Then
                        If Right(objFic.Name, 3) = "doc" Then
                            Debug.Print "ceci est un ficher word : "; objFic.Name
                            Documents.Open FileName:=objFic.Name, ConfirmConversions:=False, ReadOnly _
                                :=False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate _
                                :="", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="" _
                                , Format:=wdOpenFormatAuto, XMLTransform:=""
                            Selection.WholeStory
                            Selection.Copy
                        Debug.Print ActiveWindow.Caption
                        Dim objWin As Window
                        For Each objWin In Windows
                            Debug.Print objWin.Caption
                        Next objWin
                        Windows(1).Activate
                        Selection.PasteAndFormat (wdPasteDefault)
                        Selection.InsertBreak Type:=wdPageBreak
                        Windows(2).Activate
                        Debug.Print ActiveWindow.Caption
                        ActiveWindow.Close no
                        End If
                    End If
                Next objFic
                Selection.HomeKey Unit:=wdStory
                Selection.Find.ClearFormatting
                Selection.Find.Replacement.ClearFormatting
                With Selection.Find
                    .Text = "^b"
                    .Replacement.Text = "^m"
                    .Forward = True
                    .Wrap = wdFindContinue
                    .Format = False
                    .MatchCase = False
                    .MatchWholeWord = False
                    .MatchWildcards = False
                    .MatchSoundsLike = False
                    .MatchAllWordForms = False
                End With
                Selection.Find.Execute Replace:=wdReplaceAll
            Else
                MsgBox "Il n'y a aucun fichier word dans le répertoire selectionné."
            End If
        End If
     
    End Sub

    Est-ce que quelqu’un aurait une idée pour déboguer le programme ?
    Un grand merci et à très vite pour voir vos suggestions.

  2. #2
    Candidat au Club
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2019
    Messages : 10
    Points : 4
    Points
    4
    Par défaut DOC ou DOCX ?
    Bonjour,
    Le format de fichier attendu est ".doc" et vraisemblablement sur votre nouveau PC, il s'agit d'un "nouveau Word" qui enregistre en .docx par défaut.
    Tentez de copier vos fichiers et renommer en .doc...pour voir...
    Bon courage
    Zoulou

  3. #3
    Candidat au Club
    Femme Profil pro
    Statisticienne
    Inscrit en
    Juillet 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Statisticienne

    Informations forums :
    Inscription : Juillet 2019
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Réponse à Zoulouxm
    Bonjour,

    Merci pour votre retour. J'ai bien vérifié et dans mes programmes SAS ainsi que les sorties de SAS sont bien avec l'extension ".doc".
    Mais j'ai tout de même relancé la macro aujourd'hui même et miracle, elle fonctionne. Devais-je juste redémarrer le PC ? Je ne vois pas ce que j'ai fait de plus, bref.
    Merci à vous tous (au forum et utilisateurs).

    Vanessa

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Macro VBA word pour automatiser un rapport
    Par zouizoui dans le forum VBA Word
    Réponses: 7
    Dernier message: 30/10/2014, 22h07
  2. Executer macro VBA Word silencieusement
    Par Germinator dans le forum Word
    Réponses: 3
    Dernier message: 28/09/2012, 18h49
  3. Php et macro vba word
    Par neuneu1 dans le forum Langage
    Réponses: 4
    Dernier message: 19/08/2009, 18h48
  4. Réponses: 1
    Dernier message: 27/11/2008, 16h47
  5. Réponses: 0
    Dernier message: 06/08/2007, 12h46

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