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

Macros et VBA Excel Discussion :

Erreur lors du publipostage vers word [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 8
    Par défaut Erreur lors du publipostage vers word
    Bonjour à tous et bonne année!!

    Le problème que je rencontre me laisse perplexe.

    J'effectue depuis pas mal de temps déjà avec une macro excel un publipostage vers word:

    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
     
    Dim wordApp As Word.Application
    Dim wordDoc As Word.Document
    Dim vDossierdestination As String
    Dim vDossierSource As String
     
    vDossierSource = "C:\docs_fichier_adherents\fichiers_source\"
    vDossierdestination = "C:\docs_fichier_adherents\annee_en_cours\ "
     
     
    For i = 3 To dl
     
    Set wordApp = CreateObject("Word.application")
    wordApp.Visible = True
    Set wordDoc = wordApp.Documents.Add(vDossierSource & "rappel_annee_en_cours.doc")
     
    With wordDoc.ActiveWindow.Selection
                   .HomeKey Unit:=wdStory
                   'j'ajoute ici du texte avec plusieurs .TypText et .MoveDown
    End With
     
    vDate = Year(Date) & Month(Date) & Day(Date)
    vNomDoc = vNom & " " & vPrenom & " recu " & vAnnee
     
    wordDoc.SaveAs (vDossierdestination & vNomDoc)
    wordApp.Quit
    Set wordDoc = Nothing
    Set wordApp = Nothing
     
    'temporisation pour laisser a word le temps de fermer
    Application.OnTime Now, "temporisation", Now + TimeValue("00:00:02")
     
    Next i
    Le problème est que depuis un formatage de mon ordi et réinstallation de la suite office 2003, cela ne fonctionne plus.

    Après la création du premier document word, le message suivant apparaît:
    "Normal.dot est en cours de modification dans une autre session Word. Si vous l'enregistrez sous son nom original, vous écraserez les modifications apportées dans l'autre session. Enregistrez quand même sous son nom original?"

    Ce message apparaît à chaque nouvelle création de fichier.

    Je rajoute que j'ai supprimé le fichier normal.dot pour restaurer la configuration par défaut mais sans effet.

    Quelqu'un a-t-il une idée de l'origine du problème?

    P.S: J'ai bien activé la référence Word 11.0 Object Library, y a-t-il une autre configuration à effectuer que j'ai oubliée?

    Merci d'avance et encore bonne année à tous!!

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Je pense mais sans certitude que c'est une option demandant la sauvegarde des dmodification de ton normal.dot qui est activée dans les options de Word.

    Pour ton code, il es possible de faire quelques gains.

    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
     
    Dim wordApp As Word.Application
    Dim wordDoc As Word.Document
    Dim vDossierdestination As String
    Dim vDossierSource As String
     
    vDossierSource = "C:\docs_fichier_adherents\fichiers_source\"
    vDossierdestination = "C:\docs_fichier_adherents\annee_en_cours\ "
     
    Set wordApp =  New Word.application
    wordApp.Visible = True 
    For i = 3 To dl
     
     
    Set wordDoc = wordApp.Documents.Add(vDossierSource & "rappel_annee_en_cours.doc")
     
    With wordDoc.ActiveWindow.Selection
                   .HomeKey Unit:=wdStory
                   'j'ajoute ici du texte avec plusieurs .TypText et .MoveDown
    End With
     
    vDate = Year(Date) & Month(Date) & Day(Date)
    vNomDoc = vNom & " " & vPrenom & " recu " & vAnnee
     
    wordDoc.SaveAs (vDossierdestination & vNomDoc)
    wordDoc.Close
     
    Next i
    wordApp.Quit
     
    Set wordDoc = Nothing
    Set wordApp = Nothing
    Essaie de cette manière, l'instance de Word n'est pas fermée et réutilisée pour chaque boucle.
    Seul le document change.
    Pour l'insertion de ton texte, il est plus facile d'utiliser des signets.
    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
    Novembre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 8
    Par défaut
    Merci beaucoup pour cette réponse.

    J'ai pu grâce à toi améliorer mon code.

    Effectivement, le fait de ne pas fermer Word à chaque création de fichier permet de continuer à les créer sans avoir le message d'erreur mais malheureusement, je dois à la fin fermer toutes les fenêtres avec 2 messages d'erreur identiques à tout à l'heure pour chacune d'entre elles.

    Je ne pense pas que le problème vienne du fichier normal.dot car j'ai changé mon fichier source en .dot afin de ne pas utiliser le fichier normal.dot et le problème a seulement été reporté sur mon fichier source avec le même message d'erreur...

    Cependant, j'ai essayé le fichier chez mon voisin qui a aussi office 2003 et chez lui ça marche!!

    Je pense donc que cela doit venir d'une option de word mais après avoir passé un bon moment à toutes les éplucher, je ne vois pas...

    Si quelqu'un a une idée quelconque, je suis preneur!!

    Sur ce, bonne nuit en espérant que celle-ci me porte conseil

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,
    Cherches dans les options ou l'on te demande de valider les changements fait au normal.dot.

    Outils
    Options
    Enregistrement
    Confirmer l'enregistrement du normal.dot

    Ce qui me surprend, c'est que cette demande apparaisse.
    Tu modifies les styles ou autres de ton modèle ?
    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
    Novembre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 8
    Par défaut
    Bonjour,

    Effectivement j'ai déjà regardé de ce côté ci dans les options mais cette option n'est pas cochée.
    Pour ce qui est du modèle, j'utilise un .doc qui a un en-tête et un pied de page.
    J'y insère du texte et rien de plus. J'ai tenté d'enlever en-tête et pied de page mais j'ai conservé le meme problème.
    Ce soir je tente de réinstaller le pack office pour voir ce que ça donne et je vous tiens informés du résultat.
    Si d'ici là quelqu'un a une idée, n'hésitez pas!!

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 8
    Par défaut Résolu!!
    Bon,

    J'avoue que je ne sais pas d'où venait ce problème mais après une désinstallation, suppression des clés office du registre et réinstallation, ÇA MARCHE!!!

    Merci encore Heureux-oli pour ton aide!

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

Discussions similaires

  1. [VBA Excel] Plantage lors recopie blocs vers Word
    Par cladoo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/07/2008, 09h32
  2. Publipostage vers Word
    Par surrounded dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/11/2007, 14h51
  3. Réponses: 3
    Dernier message: 12/09/2006, 05h54
  4. Réponses: 3
    Dernier message: 21/08/2006, 13h03
  5. Erreur lors du post vers la meme page!
    Par ozzmax dans le forum Langage
    Réponses: 10
    Dernier message: 23/01/2006, 19h16

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