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 Access Discussion :

Erreur sur Code VBA pour enregistrement d'un document publiposté word [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Femme Profil pro
    gestion BDD
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : gestion BDD
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Points : 22
    Points
    22
    Par défaut Erreur sur Code VBA pour enregistrement d'un document publiposté word
    Bonjour le forum !

    j'ai un bout de code vba pour executer un publipostage sur word, et j'ai une erreur au moment de l'enregistrement du document word.
    Voici 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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Private Sub Commande4_Click()
    Dim wdApp As Word.Application
    Dim strCheminDoc As String
    Set wdApp = New Word.Application
    
    
    
    'Dim NomDoc As String
    'Set NomDoc =
    'Chemin du document word à ouvrir C:\Users\user\Documents\Mes sources de donnees
    strCheminDoc = "C:\Users\user\Documents\Mes sources de donnees\Formulaire_Enquete_Sociale_Realisee.docx"
    'Instruction SQL permettant d'extraire le nom du menage
    'StrSQL = "SELECT * FROM [T_Parametres_Enquete_Realisee]"
    'Démarre word
    'Utilisation de deux champs pour obtenir le nom du document
    
    
    With wdApp
            .Visible = True
            'ouvre le document type
            .Documents.Open strCheminDoc
            'Paramétrer le publipostage
            .ActiveDocument.MailMerge.OpenDataSource _
                Name:=CurrentDb.Name, _
                LinkToSource:=True, _
                Connection:="TABLE T_Parametres_Enquete_Realisee", _
                SQLStatement:="SELECT*FROM [T_Parametres_Enquete_Realisee]"
        ' Diriger le publipostage vers un nouveau document plutôt que vers l'imprimante
            .ActiveDocument.MailMerge.Destination = wdSendToNewDocument
        ' Lancer la fusion
            .ActiveDocument.MailMerge.Execute
        'Utilisation de deux champs pour obtenir le nom du document
            Nom1 = ActiveDocument.MailMerge.DataSource.DataFields(4).Value
            Prenom1 = ActiveDocument.MailMerge.DataSource.DataFields(5).Value
            .ActiveDocument.SaveAs "Y:\ENQUETES\MISSION ENQUETES\ENQUETES REALISEES\Enquêtes 2014\ " & Nom1 & " " & Prenom1 & ".docx"
    End With
      ' Quitter Word
        '.Quit SaveChanges:=wdDoNotSaveChanges
    wdApp.Quit
    ' Libérer les objets
    Set wdApp = Nothing
    
    End Sub
    L'erreur se trouve en rouge erreur 5852 l'objet demandé n'est pas disponible

    Faut il que j'utilise "For i = 1 To iR" etc alors que je n'aurai qu'un seul enregistrement à chaque fois ??

    merci

  2. #2
    Membre à l'essai
    Femme Profil pro
    gestion BDD
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : gestion BDD
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Points : 22
    Points
    22
    Par défaut Relance demande d'aide : enregistrement du document word après fusion publipostage
    Bonsoir,

    je bloque toujours encore des essais aujourd'hui et tjs pas de solution

    toujours erreur 5852 l'objet n'est pas disponible ?

    une idée pour me dépanner avant la fin de la semaine ?

    merci

  3. #3
    Membre à l'essai
    Femme Profil pro
    gestion BDD
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : gestion BDD
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Points : 22
    Points
    22
    Par défaut Petite Avancée quoique
    Bonjour,

    j'ai maintenant l'erreur 6294 type et extension de fichier incompatible ! je cherche encore le code modifié :

    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
    Private Sub Commande4_Click()
    Dim wdApp As Word.Application
    'Dim strCheminDoc As String
    Dim iR As Integer
    Dim i As Integer
    Dim DocName As String
    Dim oDoc As Word.Document
    'Dim oDS As MailMergeDataSourc
     
    'Affectation des objets
    Set wdApp = New Word.Application
     
    Set oDoc = wdApp.Documents.Open("C:\Users\user\Documents\Mes sources de donnees\Formulaire_Enquete_Sociale_Realisee.docx")
     
     
    'Démarre word
     
    iR = oDoc.MailMerge.DataSource.RecordCount
    Debug.Print iR
    For i = 1 To iR
     
    With wdApp
            .Visible = True
            '.Documents.Open oDoc
            'Paramétrer le publipostage
            .ActiveDocument.MailMerge.OpenDataSource _
                Name:=CurrentDb.Name, _
                LinkToSource:=True, _
                Connection:="TABLE T_Parametres_Enquete_Realisee", _
                SQLStatement:="SELECT*FROM [T_Parametres_Enquete_Realisee]"
        ' Diriger le publipostage vers un nouveau document plutôt que vers l'imprimante
     
     
        ' Lancer la fusion
            .ActiveDocument.MailMerge.DataSource.FirstRecord = i
            .ActiveDocument.MailMerge.DataSource.LastRecord = i
     
            .ActiveDocument.MailMerge.Destination = wdSendToNewDocument
            .ActiveDocument.MailMerge.Execute
     
     
        'utilisation de deux champs pour obtenir le nom du document
        DocName = oDoc.MailMerge.DataSource.DataFields(4).Value
        DocName = DocName & "-" & oDoc.MailMerge.DataSource.DataFields(5).Value
        Debug.Print DocName; i
    End With
     
    'Sauvegarde du document publiposté
    With ActiveDocument
        .SaveAs ("Y:\ENQUETES\MISSION ENQUETES\ENQUETES REALISEES\Enquêtes 2014\ " & DocName & " .docx")
      ' Quitter Word
        '.Quit SaveChanges:=wdDoNotSaveChanges
    End With
    wdApp.Documents("Formulaire_Enquete_Sociale_Realisee.docx").Close (wdDoNotSaveChanges)
    wdApp.Quit
    ' Libérer les objets
    Set oDoc = Nothing
    Set wdApp = Nothing
    'Set oDS = Nothing
    Next i
     
    End Sub

    J'ai une erreur sur le SaveAS
    pfff je galère
    un peu d'aide je cherche encore

  4. #4
    Membre à l'essai
    Femme Profil pro
    gestion BDD
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : gestion BDD
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Points : 22
    Points
    22
    Par défaut EUREKA
    Le code ci-dessus fonctionne bien, c'est Microsoft word qui n'était pas bien paramétré pour l'enregistrement de nouveau document en doc 2003-2007 au lieu du nouveau format docx

    Problème résolu !!

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

Discussions similaires

  1. code VBA pour enregistrement
    Par tunisien13 dans le forum VBA Access
    Réponses: 1
    Dernier message: 31/03/2012, 02h56
  2. code VBA pour "enregistrer sous"
    Par cyr78 dans le forum VBA Word
    Réponses: 5
    Dernier message: 05/11/2010, 13h32
  3. Réponses: 3
    Dernier message: 15/10/2010, 10h43
  4. [AC-2002] Erreur 91 sur code VBA
    Par volganne dans le forum VBA Access
    Réponses: 6
    Dernier message: 02/09/2010, 14h03
  5. Réponses: 4
    Dernier message: 18/04/2007, 16h32

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