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 :

Publipostage excel word


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Points : 22
    Points
    22
    Par défaut Publipostage excel word
    Bonjour,

    je souhaites faire un publipostage d'Excel vers Word. J'ai pris le tuto http://silkyroad.developpez.com/Exce...tageWordExcel/
    mais lorsque j'executes le code j'ai un message d'erreur qui me dit "L'objet demandé n'est pas disponible" . J'ai pourtant bien copié le code dans un module ? Déclaré la bibliothèque Word 12.0 libray. Auriez vous une idée ? Merci.

    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
    Vba 
    Private Sub commandButton1_Click()
        'Nécessite d'activer la référence "Microsoft Word xx.x Object Library"
        Dim docWord As Word.Document
        Dim appWord As Word.Application
     
        Application.ScreenUpdating = False
        Set appWord = New Word.Application
        appWord.Visible = False
        'Ouverture du document principal Word
        Set docWord = appWord.Documents.Open("C:\leDocument.doc")
     
        'fonctionnalité de publipostage pour le document spécifié
        With docWord.mailMerge
            'Spécifie la fusion vers l'imprimante
            .Destination = wdSendToPrinter
            .suppressBlankLines = True
                'Prend en compte l'ensemble des enregistrements
                With .DataSource
                    .firstRecord = wdDefaultFirstRecord
                    .lastRecord = wdDefaultLastRecord
                End With
            'Exécute l'opération de publipostage
            .Execute Pause:=False
        End With
     
        Application.ScreenUpdating = True
     
        'Fermeture du document Word
        docWord.Close False
        appWord.Quit
    End Sub
    Sachant que le message d'erreur fait référence à l'objet docWord.mailMerge puisqu'il bloque sur la ligne qui fait référence à sa propriété Destination.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Et si tu modifies le paramètre Destination pour wdSendToNewDocument à la place de wdSendToPrinter ? Un nouveau doc est-il créé ?
    Si oui, c'est que l'imprimante n'est pas définie
    Juste une idée

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    J'ai bien essayé de changer la destination mais le probleme persiste...

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Ton document principal (.doc) est bien lié à ton xls ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Ayé j'ai trouvé, le probleme est le suivant : sur les versions word 2003 et plus lorsqu'on ouvre un document de publipostage, on a un message qui spécifie que le fichier va etre alimenter à partir d'une source de données. Par défaut le choix est à "non" d'où le message d'erreur car il ya pas d'alimentation du fichier word. Pour pallier au probleme il faut modifier la base des registre.s Enfin si vous souhaitez plus d'explications :

    http://www.multi-hardware.com/MHBB/r...et_4_2895.html

    Merci.

    @+

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Je mettrais plutôt cette adresse Rendons à César ce qui appartient à Bill...
    Merci de nous avoir fait part de la solution
    A+

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    POur aller au fond des choses, est-il facile de modifier la base des registres via VBA car il se trouve que je développe à distance une petite appli pour un client mais de là à ce qu'il modifie lui même la base des registres sur son poste y'a ... beaucoup! Merci.

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu devrais poser une nouvelle question sur le forum
    Tu as vu les conséquences d'une modif de la base de registre, niveau sécurité ?
    Tu n'as pas peur qu'en cas de pb le client te pose des questions ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Comme tu dis ouskel'n'or, point de vue sécurité c'est pas top de modifier la base des registres. Toutefois, il faut croire que je suis pas le premier qui ai eu cette idée suite au probleme lié au publipostage. Et en cherchant bien je suis tombé sur cette adresse : http://faqword.free.fr/articles.php?lng=fr&pg=56 avec la solution au probleme et cerise sur le gâteau tout le code qui va bien (alléluia). A savoir, on modifie la clé juste le temps du publipostage pour ensuite la remettre en son état initial.

  10. #10
    Membre actif Avatar de Yolak
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 341
    Points : 206
    Points
    206
    Par défaut
    Salut!!!

    J'ai bien entendu le même souci...
    J'ai un peu regardé le code du lien dans le post juste au dessus du mien mais je n'arrive pas à l'integrer dans ma macro...

    J'ai une userform avec une textbox et un bouton et un module qui me permet d'appeler la userform
    Faut le mettre où ce code? Dans un module? dans un Sub ??? Je suis perdu !!!

    code du module:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Macro()
    UserForm1.show
    End Sub
    Quelqu'un saurait donner un exemple svp??

    Merci d'avance!!
    Épargnez votre cerveau : éteignez votre télé !

  11. #11
    Membre actif Avatar de Yolak
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 341
    Points : 206
    Points
    206
    Par défaut
    Après moultes tentatives, je n'y arrive pas et je pense que c'est à cause de l'imprimante qui est en réseau et le pc depuis lequel j'essaye de faire mon publipostage également. Je ne suis pas l'administrateur du réseau et l'administrateur est difficilement joignable, mais je pense qu'il y a une protection pour que tout les utilisateurs ne puissent pas aller trifouiller dans le registre... Pensez-vous que je me trompe?

    N'y aurait-il pas un autre moyen de shunter ce message plutôt ennuyant?

    (C'est fou ça quand même! Plus ils améliorent leur logiciels, moins on peut faire de choses!!)

    Merci d'avance!
    Épargnez votre cerveau : éteignez votre télé !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/10/2010, 14h34
  2. Publipostage excel -> word , Requete SELECT
    Par linodev dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/06/2007, 11h11
  3. Publipostage excel -> word , Requete SELECT
    Par linodev dans le forum Excel
    Réponses: 1
    Dernier message: 29/06/2007, 23h34
  4. Publipostage Excel->Word et fusion sur nouveau document
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/06/2007, 16h04
  5. publipostage Excel --> Word
    Par X...FoR...X dans le forum Excel
    Réponses: 1
    Dernier message: 16/05/2006, 14h59

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