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 :

Insérer une nouvelle page dans mon document word suivant un modèle avec des signets


Sujet :

VBA Word

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 172
    Points : 100
    Points
    100
    Par défaut Insérer une nouvelle page dans mon document word suivant un modèle avec des signets
    Bonjour à tous,

    J'ai un soucis avec un publipostage d'access vers Word. J'utilise le code suivant :
    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
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    Dim MaBD As Database
        Dim MaRequete As Recordset
        'Dim Myrange As Range
     
     
        Dim NbEnreg, i As Integer
        Dim MonTableau As Object
        Dim vnt As Variant
        Dim j As Integer
     
     
        'Vérifie si un élément est choisi dans la liste
          If Me.choix_parcelle.ItemsSelected.Count = 0 Then
            MsgBox "Vous n'avez pas sélectionné de parcelle !", vbCritical, "Opération annulée !"
       Else
     
    'confirmer l'impression
       answer = MsgBox("Etes-vous sûr de vouloir exporter la sélection dans Word ?", vbYesNo + vbQuestion, "Confirmer export")
     
       'MsgBox "Etes-vous sûr de vouloir imprimer un courrier pour la sélection ?", vbYesNo + vbQuestion, "Confirmer impression"
     If answer = vbYes Then
     
       'Compte le nombre d'enregistrements dans la requête R_proprietaire_publipostage
       'et arrête la procédure de transfert
       'si la requête ne contient aucun enregistrement
     
         'Création d'une instance de Word et activation de l'application.
        Set MonAppliWord = New Word.Application
     
       'Création de la variable objet Lettre_type représentant
       'le document Word
        Set Lettre_type = MonAppliWord.Documents.Add("C:\BD_travaux_SMBA\Lettre_type.dotx")
        MonAppliWord.Visible = True
     
     
     
        For Each vnt In Me.choix_parcelle.ItemsSelected
        For j = 0 To Me.choix_parcelle.ColumnCount - 6
     
     
        NbEnreg = DCount("[num_parcelle]", "R_proprietaire_publipostage", "id_parcelle like " & Me.choix_parcelle.Column(j + 1, vnt))
     
         'If NbEnreg = 0 Then
            'MsgBox "Aucune parcelle n'a été liée à ce propriétaire !", vbCritical, "Opération annulée !"
            'Exit Sub
        'End If
     
       'Ouvre la base de données en cours et la requête concernée
     
       Set MaBD = CurrentDb()
       Set MaRequete = MaBD.OpenRecordset("SELECT * FROM R_proprietaire_publipostage  WHERE id_parcelle like " & "" & Me.choix_parcelle.Column(j + 1, vnt) & "", dbOpenSnapshot)
     
     
     
       'Positionnement sur le premier enregistrement de la requête
       MaRequete.MoveFirst
     
    'Insertion des coordonnées du client
    On Error Resume Next
       With Lettre_type.Bookmarks
            .Item("societe").Range.Text = MaRequete.Fields("societe")
            .Item("civilité").Range.Text = MaRequete.Fields("civilité")
            .Item("civilite1").Range.Text = MaRequete.Fields("civilite1")
            .Item("civilite2").Range.Text = MaRequete.Fields("civilite2")
            .Item("nom_jeune_fille").Range.Text = MaRequete.Fields("nom_jeune_fille")
            .Item("nom_usage").Range.Text = MaRequete.Fields("nom_usage")
            .Item("prenom").Range.Text = MaRequete.Fields("prenom")
            .Item("adresse1").Range.Text = MaRequete.Fields("adresse1")
            .Item("adresse2").Range.Text = MaRequete.Fields("adresse2")
            .Item("code_postal").Range.Text = MaRequete.Fields("code_postal")
            .Item("commune").Range.Text = MaRequete.Fields("commune")
            .Item("pays").Range.Text = MaRequete.Fields("pays")
    End With
     
       'Création du tableau Word
       'recevant les parcelles des propriétaires
        Set MonTableau = Lettre_type.Tables.Add(Lettre_type.Bookmarks.Item("Debut_parcelle").Range, NbEnreg + 1, 3)
     
    'Remplissage de la ligne d'en-tête du tableau
     
        With MonTableau
            .Cell(1, 1).Range.InsertAfter "Commune"
            .Cell(1, 2).Range.InsertAfter "Section"
            .Cell(1, 3).Range.InsertAfter "Numéro"
     
    'Mise en forme du tableau
     
            .Rows(1).SetHeight RowHeight:=24, HeightRule:=wdRowHeightAtLeast
            .Rows(1).Cells.VerticalAlignment = wdAlignVerticalCenter
            .Rows(1).Cells.HorizontalAlignment = wdAlignHorizontalCenter
     
    'Ajustement des largeurs de colonnes aux dimensions souhaitées
     
            .Columns(1).SetWidth ColumnWidth:=170, RulerStyle:=wdAdjustProportional
            .Columns(2).SetWidth ColumnWidth:=60, RulerStyle:=wdAdjustProportional
            .Columns(3).SetWidth ColumnWidth:=60, RulerStyle:=wdAdjustProportional
     
        End With
     
    'Remplissage du tableau avec les données
    'issues de la requête R_proprietaire_publipostage
     
        For i = 1 To NbEnreg
     
       'Parcourt la requête R_proprietaire_publipostage,
       'ajoute les contenus dans les cellules
     
        With MonTableau
     
             .Cell(i + 1, 1).Range.InsertAfter MaRequete!nom_commune
             .Cell(i + 1, 2).Range.InsertAfter MaRequete!section
             .Cell(i + 1, 3).Range.InsertAfter MaRequete!num_parcelle
     
       'Puis Centrage vertical des contenus de cellules de toute la ligne
     
             .Rows(i + 1).Cells.VerticalAlignment = wdCellAlignVerticalCenter
     
       'Alignement de la référence et de la quantité au centre de la cellule
     
             .Cell(i + 1, 2).Range.Paragraphs.Alignment = wdAlignParagraphCenter
             .Cell(i + 1, 3).Range.Paragraphs.Alignment = wdAlignParagraphCenter
     
            End With
     
          'Se positionne sur l'enregistrement suivant
           MaRequete.MoveNext
     
        Next i
     
        With Lettre_type.Tables(1)
     
           With .Borders(wdBorderLeft)
                .LineStyle = wdLineStyleSingle
                .LineWidth = wdLineWidth150pt
            End With
     
            With .Borders(wdBorderRight)
                .LineStyle = wdLineStyleSingle
                .LineWidth = wdLineWidth150pt
            End With
     
            With .Borders(wdBorderTop)
                .LineStyle = wdLineStyleSingle
                .LineWidth = wdLineWidth150pt
            End With
     
            With .Borders(wdBorderBottom)
                .LineStyle = wdLineStyleSingle
                .LineWidth = wdLineWidth150pt
            End With
     
            With .Borders(wdBorderHorizontal)
                .LineStyle = wdLineStyleSingle
                .LineWidth = wdLineWidth075pt
            End With
     
            With .Borders(wdBorderVertical)
                .LineStyle = wdLineStyleSingle
                .LineWidth = wdLineWidth075pt
            End With
     
        End With
     
         Next j
     
        MaRequete.Close
        MaBD.Close
     
       MonAppliWord.Close
     
        Next vnt
        Set MonAppliWord = Nothing
    End If
    End If
    Ce code était avant next j
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
       'Création de la variable objet Lettre_type représentant
       'le document Word
        Set Lettre_type = MonAppliWord.Documents.Add("C:\BD_travaux_SMBA\Lettre_type.dotx")
        MonAppliWord.Visible = True
    Mais cela ouvrait autant de fichiers word que d'enregistrements, c'est pour cela que je l'ai changé d'endroit mais il faudrait que je puisse créer une nouvelle feuille qui prend base sur mon modèle.dot et que l'enregistrement suivant se mettre sur la feuille suivante.

    En gros je ne veux qu'un seul document Word avec autant de pages que d'enregistrements.

    Pour le moment j'ai réussi à créer autant de pages word que d'enregistrement à l'aide de ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MonAppliWord.Selection.EndKey Unit:=wdStory
      MonAppliWord.Selection.InsertBreak (wdPageBreak)
    J'aimerais définir ma nouvelle page à l'aide de mon modèle
    C:\BD_travaux_SMBA\Lettre_type.dotx
    avec ses signets. Comment faire?

    J'ai essayé de copier la page précédente et de la coller, sans succès je n'y suis pas arrivée. De plus dans la FAQ il y a au moins un message avec le même problème que moi mais malheureusement, il est resté sans réponse... Est-ce la bonne solution? ou existe-t-il d'autres techniques plus faciles?

    Merci pour votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    C'est pas prendre le problème à l'envers ?

    Si tu fais un publipostage, tu as autant de pages que d'enregistrements.
    Ce qui te manque, c'est juste une page de garde.
    N'est-il pas plus facile d'ajouter une page de garde au document existant, ou le document issu de la fusion à une page de garde ?
    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 !

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 172
    Points : 100
    Points
    100
    Par défaut
    Eh bien le problème de mon code c'est que j'ai UN FICHIER par enregistrement et non une page par enregistrement... Qu'est-ce qu'une page de garde?

    En fait je ne fait pas réellement un publipostage, je rempli un modèle word avec des données provenant de tables access. Je pense que c'ets de là que vient mon problème, mais je ne vois pas comment ffaire autrement puisqu'il faut que je construise des tableaux contenants des données provenant d'Access.

    Si vous voyez une autre solution à mon problème, je suis toute ouie Car ça fait déjà pas mal de temps que je cherche une solution..

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Je ne sais pas de quoi tu pars et vers quoi tu arrives.

    As-tu regardé du côté des ressources que nous possédons sur le publipostage.

    http://word.developpez.com/cours

    Il te reste aussi une possibilité de faire un document principal avec des sous-documents, comme on devrais connaître le nom des fichiers, on peut les ajouter.

    C'est à toi de 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 !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 172
    Points : 100
    Points
    100
    Par défaut
    Oui j'avais déjà regardé à de nombreuses reprises les cours et les ressources. La création d'un document principal avec des sous-documents me parait être une solution, avez vous des informations sur ce sujet, code...

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Si tu mets tous tes documents dans un même répertoire, on peut toujours envisager de parcourir tous les documents pour les insérer dans le document principal.

    Par exemple :

    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
    Sub testAjoutDoc()
    '
    ' Ajouter la bibliothèque Microsoft Scripting Runtime
    '
    Dim fso As FileSystemObject
    Dim dlg As FileDialog
    Dim oFl As File
    Dim ofol As Folder
    Dim stPath As String
     
     
    Set fso = New FileSystemObject
    Set dlg = Application.FileDialog(msoFileDialogFolderPicker)
    dlg.Show
    stPath = dlg.SelectedItems(1)
    Set ofol = fso.GetFolder(stPath)
     
    For Each oFl In ofol.Files
     
        Selection.InsertFile FileName:=oFl.Name, Range:=""
    Next oFl
     
    Set ofol = Nothing
    Set oFl = Nothing
    Set dlg = Nothing
    Set fso = Nothing
     
     
    End Sub
    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 !

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 172
    Points : 100
    Points
    100
    Par défaut
    Bonjour,

    Je pense que je vais opter pour l'ajout de mes documents dans un seul.

    Lors de la création de mes fichiers, je les enregistre tous dans un même dossier.

    je ne comprend pas ce que fait ce code exactement? Comment je lui défini le chemin de mon dossier?

  8. #8
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Dans le code que j'ai donné, on ouvre une boîte de dialogue qui va récupérer le chemin du dossier.

    Fais un essai !
    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 !

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 172
    Points : 100
    Points
    100
    Par défaut
    J'ai fait un essai mais j'ai un soucis sur
    j'ai le message d'erreur suivant :
    Type défini par l'utilisateur non défini
    pourtant j'ai bien rajouté la référence Microsoft Scripting Runtime

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 172
    Points : 100
    Points
    100
    Par défaut
    c'est bon, j'ai résolu mon problème, je n'avais pas coché la référence microsoft office object library. Par contre le code ne me crée pas de nouveau fichier... Est-ce normal? Le code est sensé faire quoi exactement? Car c'est la première fois que je vois certaines fonctions du coup je ne comprends pas tout le code.

    merci beaucoup!

  11. #11
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Le code est censé insérer les fichiers d'un répertoire dans le document courant.

    Je viens de faire un nouveau test et tout fonctionne.
    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 !

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 172
    Points : 100
    Points
    100
    Par défaut
    Ok, merci je viens de comprendre le fonctionnement, j'ai rajouté des sauts de pages pour que chaque sous document soit sur une nouvelle page. Par contre est-ce que je peux définir un chemin figé? Parce que j'ai essayé de modifier le code, je n'y suis pas arrivée.

    Merci

  13. #13
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Si tu veux un chemin en dur, c'est dans la variable stPath
    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 !

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 172
    Points : 100
    Points
    100
    Par défaut
    c'est ce que j'avais testé:

    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
    Sub macro_test()
    '
    '
    ' Ajouter la bibliothèque Microsoft Scripting Runtime
    '
    Dim fso As FileSystemObject
    Dim dlg As FileDialog
    Dim oFl As File
    Dim ofol As Folder
    Dim stPath As String
     
     
    Set fso = New FileSystemObject
    'Set dlg = Application.FileDialog(msoFileDialogFolderPicker)
    'dlg.Show
    stPath = "C:\Courriers\"
    Set ofol = fso.GetFolder(stPath)
     
    For Each oFl In ofol.Files
     
        Selection.InsertFile FileName:=oFl.Name, Range:=""
        Selection.InsertBreak (wdPageBreak)
    Next oFl
     
    Set ofol = Nothing
    Set oFl = Nothing
    Set dlg = Nothing
    Set fso = Nothing
     
     
     
     
    '
     
    End Sub
    Cependant sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.InsertFile FileName:=oFl.Name, Range:=""
    j'ai l'erreur suivante:
    erreur d'execution 91
    Variable objet ou variable de bloc with non définie.
    Je ne vois pas d'où vient l'erreur...

    Et encore merci pour le temps que vous me consacrez, il ne me reste plus que le chemin et j'aurai résolu mon problème!

  15. #15
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Essaie sans le dernier "\"
    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 !

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 172
    Points : 100
    Points
    100
    Par défaut
    J'ai toujours la même erreur...

  17. #17
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Je viens de faire un nouveau test et je ne rencontre pas de problème

    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
    Sub testAjoutDoc()
    '
    ' Ajouter la bibliothèque Microsoft Scripting Runtime
    '
    Dim fso As FileSystemObject
     
    Dim oFl As File
    Dim ofol As Folder
    Dim stPath As String
     
     
    Set fso = New FileSystemObject
     
     
    stPath = "C:\Courriers"
    Set ofol = fso.GetFolder(stPath)
     
    For Each oFl In ofol.Files
     
        Selection.InsertFile FileName:=oFl.Name, Range:=""
    Next oFl
     
    Set ofol = Nothing
    Set oFl = Nothing
    Set dlg = Nothing
    Set fso = Nothing
     
     
    End Sub
    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 !

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 172
    Points : 100
    Points
    100
    Par défaut
    Même en copiant votre code j'ai toujours la même erreur.

    J'ouvre un document word et j'exécute la requête. Je ne comprends pas pourquoi j'ai cette erreur et pas vous...

  19. #19
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,
    Avec la boîte de dialogue, avais tu l'erreur ?

    Le répertoire, existe-t-il ?
    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 !

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 172
    Points : 100
    Points
    100
    Par défaut
    j'ai maintenant l'erreur suivante :
    erreur 5174
    Fichier introuvable.
    (document1.doc)
    Alors que mon fichier existe et que je n'ai pas modifié le code....

    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
    Sub testAjoutDoc()
    '
    ' Ajouter la bibliothèque Microsoft Scripting Runtime
    '
    Dim fso As FileSystemObject
     
    Dim oFl As File
    Dim ofol As Folder
    Dim stPath As String
     
     
    Set fso = New FileSystemObject
     
    stPath = "C:\Courriers"
    Set ofol = fso.GetFolder(stPath)
     
    For Each oFl In ofol.Files
     
        Selection.InsertFile FileName:=oFl.Name, Range:=""
    Next oFl
     
    Set ofol = Nothing
    Set oFl = Nothing
    Set dlg = Nothing
    Set fso = Nothing
     
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Fiche : Insérer une animation Flash dans un document Word
    Par Dolphy35 dans le forum Contribuez
    Réponses: 1
    Dernier message: 17/11/2011, 14h19
  2. Insérer un tableau à une position précise dans un document word.
    Par thefutureisnow dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 25/05/2011, 15h27
  3. Réponses: 7
    Dernier message: 01/07/2009, 16h55
  4. Insérer une nouvelle page dans word
    Par aba_tarn dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/11/2008, 09h39

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