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

Access Discussion :

[vba-access] probleme avec word.application


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 14
    Points
    14
    Par défaut [vba-access] probleme avec word.application
    bonjour tout le monde

    Je suis entrain de faire un programme qui me génère des factures à partir des informations d'une base de données et voici un bout de mon 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
    
    
    'je declare ma variable
    Dim wdapp As Word.Application
    .
    .
    .
    
    'creation de la copie du model de facture
    Set demande = CreateObject("scripting.filesystemobject")
    Set demande2 = demande.getfile("C:\facture.doc")
    .
    .
    .
    'creation d'un document word avec le model precedent
    chemin_fichier = "C:\" & nom & "_" & prenom & "_facture.doc"
    demande2.Copy (chemin_fichier)
    .
    .
    .
    'traitement du document
    Set wdapp = CreateObject("Word.application")
     Documents.Open chemin_fichier 
    Documents(chemin_fichier).Activate
    .
    .
    .
    'fermeture du word.application
    wdapp.Application.Quit     

    Voila, mon problème est que si jamais je laisse mon code tel qu'il est, si jamais je fais une boucle sur le bout de code précedent, le programme plante et me dis :

    " Erreur d'exécution '462': Le serveur distant n'éxiste pas ou n'est pas disponible "

    et le debugger m'envoie sur la ligne Documents.Open chemin_fichier


    Et sinon deuxième solution si j'enlève la dernière ligne wdapp.Application.Quit le programme marche, il peut boucler plusieurs fois le bout de code précedent mais je me retrouve à la fin avec plusieurs application word qui tourne en arrière plan et c'est embetant surtout quand je dois générer plusieurs centaines de factures.


    Voila est ce quelqu'un a déja été confronter à ce genre de problème et a pu le resoudre ?


    Merci

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Tu pourrais aussi éditer tes factures par publipostage avec fusion.
    Pour rester dans ce que tu as commencé, tu pourrais essayer ceci
    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
    'je declare ma variable
    Dim wdapp As Word.Application, wdDoc as Word.Document
    .
    .
    .
     
    'création de la copie du modèle de facture
    Set wdDoc = GetObject("C:\facture.doc")
    Set wdapp = wdDoc.Application
    wdDoc.SaveAs "C:\" & nom & "_" & prenom & "_facture.doc"
    .
    'traitement du document
    .
    .
    .
    'fermeture du document
    wdDoc.Close wdSaveChanges
    J'ai laissé l'instance wdapp, au cas où tu en aurais besoin... mais tu devrais pouvoir faire avec wdDoc. Le seul inconvénient c'est que si au départ Word n'est pas ouvert, à la fin il devrait rester une fenêtre WORD. Si ça pose pb, ça se règle aussi.

    Bon courage,

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Hello !

    Tu fais référence à Documents (qui existe dans le modèle Access) sans préciser que tu pointes vers word !
    Voici donc l'erreur.
    Si tu modifies ton code comme suit, tu n'auras plus le souci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    'traitement du document
    Set wdapp = CreateObject("Word.application")
    with wdapp
        .Documents.Open chemin_fichier 
        .Documents(chemin_fichier).Activate
        ...
        ...
        ...
        'fermeture du word.application
        .Quit 
    end with
    tu remarqueras, je l'espère, que tu es dans un With, et que devant Documents, il y a un point(.)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    ca marche parfaitement

    merci !

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

Discussions similaires

  1. VBA ACCESS probleme avec une boucle for
    Par maldini dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/04/2010, 09h52
  2. [VBA-E]Probleme avec la fonction Range
    Par pec dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2006, 11h36
  3. [VBA-E] probleme avec la fonction countif
    Par adamm dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/02/2006, 09h23
  4. [VBA-E] problème avec le sendkeys
    Par darkpocket dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/02/2005, 14h25
  5. [C#] Requête MS Access (Problème avec Date)
    Par Erakis dans le forum ASP.NET
    Réponses: 4
    Dernier message: 16/02/2005, 22h54

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