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

Excel Discussion :

Problème lors des déplacements des fichiers sources [XL-2010]


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Problème lors des déplacements des fichiers sources
    Bonjour à tous,
    Je suis en cour de création d'un outils qui me permet de remplir de façon automatique un certain nombre de document sur la base d'une feuille exel de renseignements.
    Grâce à cette feuille les autres feuilles du classeurs se pré-remplissent automatiquement, jusque la tout va bien.
    La ou ça ce complique, c'est que j'ai fait une macro pour ouvrir un fichier word, et via un publipostage il se pré-remplie automatiquement et s'imprime, cela marche très bien également.

    Mon problème est que ma macro intègre des liens fixes pour aller chercher ces fichiers et que le but du fichier exel et de ses fichiers word liés est qu'il soit copier et coller pour étre dupliqué.

    Y-a-il une solution dans l’écriture du code ou autre pour permet une mise à jour automatique des lien du code?

    Ci dessous le code utilisé:

    Sub ARCAFFAIRE_Bouton1_Cliquer()
    'Nécessite d'activer la référence "Microsoft Word xx.x Object Library"
    Dim docWord As Word.Document
    Dim appWord As Word.Application
    Dim NomBase As String

    NomBase = "C:\Users\XXX\Desktop\affaire\Gestion de chantier V2.xlsm"

    Application.ScreenUpdating = False
    Set appWord = New Word.Application
    appWord.Visible = True
    'Ouverture du document principal Word
    Set docWord = appWord.Documents.Open("C:\Users\XXX\Desktop\affaire\documents associé\Modèle lettre AR commande client XXX v2.doc")

    'fonctionnalité de publipostage pour le document spécifié
    With docWord.MailMerge
    'Ouvre la base de données
    .OpenDataSource Name:=NomBase, _
    Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _
    "DBQ=" & NomBase & "; ReadOnly=True;", _
    SQLStatement:="SELECT * FROM [Feuil1$]"
    '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


    Je vous remercie par avance.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    Mon problème est que ma macro intègre des liens fixes pour aller chercher ces fichiers et que le but du fichier exel et de ses fichiers word liés est qu'il soit copier et coller pour étre dupliqué.

    Y-a-il une solution dans l’écriture du code ou autre pour permet une mise à jour automatique des lien du code?
    J'ai du mal à comprendre... Est-ce tu peux expliquer davantage, avec un exemple si possible ? J'aime bien les exemples...

  3. #3
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Désolé si je me suis mal expliqué.

    pour faire simple, j'ai créé ma feuille exel et ses fichiers annexes dans un dossier sur mon bureau et quand je coupe ce dossier pour le déplacer à un autre endroit, ma macro ne fonctionnement plus. L'erreur est fichier introuvable, car le lien vers le fichier annexe (Word pour le publipostage) est resté celui de l'ancien emplacement.

    Et malheureusement le but de ce petit outil est d’être dupliqué (de façon manuel)

    Pour exemple:

    L’outil avec ses fichiers sources (word) seront stocker mes documents.

    A chaque nouveau projet (car l'outil permet la gestion de projet), je copie les fichiers depuis mes documents et le colle dans un dossier portant le nom du nouveau projet sur un serveur, et j'aimerai préservé la fonctionnalité de la macro après déplacement.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Si tous les fichiers sont dans le même dossier que le classeur Excel, tu peux adresser le dossier avec la méthode "ThisWorkbook.Path".

  5. #5
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci par contre je suis débutant dans le vba, pouvez-vous me dire ou l'intégré dans le code.

    Je vous remercie d'avance

  6. #6
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    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
    Sub ARCAFFAIRE_Bouton1_Cliquer()
    'Nécessite d'activer la référence "Microsoft Word xx.x Object Library"
    Dim docWord As Word.Document
    Dim appWord As Word.Application
    Dim NomBase As String
     
    NomBase = ThisWorkbook.Path & "\Gestion de chantier V2.xlsm"
     
    Application.ScreenUpdating = False
    Set appWord = New Word.Application
    appWord.Visible = True
    'Ouverture du document principal Word
    Set docWord = appWord.Documents.Open(ThisWorkbook.Path & "\documents associé\Modèle lettre AR commande client XXX v2.doc")
     
    'fonctionnalité de publipostage pour le document spécifié
    With docWord.MailMerge
    'Ouvre la base de données
    .OpenDataSource Name:=NomBase, _
    Connection:="Driver={Microsoft Excel Driver (*.xls)};" & _
    "DBQ=" & NomBase & "; ReadOnly=True;", _
    SQLStatement:="SELECT * FROM [Feuil1$]"
    '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

  7. #7
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup mon problème est résolue

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

Discussions similaires

  1. Problème lors du remplissage des tables
    Par xinx1 dans le forum Modélisation
    Réponses: 2
    Dernier message: 18/04/2010, 14h21
  2. [MOSS2007] Problème lors du déploiement des services partagés
    Par morpheus002 dans le forum SharePoint
    Réponses: 4
    Dernier message: 20/01/2008, 18h45
  3. [VB.NET]Problème lors du décryptage DES
    Par Nixar dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/03/2007, 09h27
  4. [HTML] Problème lors du changement des chemins
    Par ramzi24 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 14/12/2006, 19h37

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