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 :

Macro pour modifier un fichier Word à des endroits bien précis avec Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 257
    Points : 87
    Points
    87
    Par défaut Macro pour modifier un fichier Word à des endroits bien précis avec Excel
    Bonjour ,

    j'essaie de MODIFIER UN FICHER WORD A DES ENDROITS BIEN PRÉCIS AVEC EXCEL , mais je reçois une erreur 5174 chemin du fichier introuvable.

    après avoir essayé des solutions sur le net je reste toujours au même niveau.
    j'ai besoin d'aide car je suis nouveau en macro.

    voici 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
    Sub macrotest()
     
        Dim WordApp As Word.Application
        Dim WordDoc As Word.Document
        Dim i As Byte
     
        'Set WordApp = CreateObject("word.application")    'ouvre une session Word
     
         Set WordApp = New Word.Application
         Set WordDoc = WordApp.Documents.Open("C:\Users\Ulrich DIE\Desktop\testmacro\wordmacro.doc")
     
        'ouvre le document Word
     
        WordApp.Visible = False        'Word est masqué pendant l'opération
        For i = 1 To 2
            'les signets du document Word sont nommés Signet1 , Signet2
            WordDoc.Bookmarks("Signet" & i).Range.Text = Cells(i, 1)
        Next i
     
        WordApp.Visible = True    'affiche le document Word
        'WordDoc.PrintOut 'Pour imprimer le doc obtenu
     
        'WordDoc.Close True 'ferme le document word en sauvegardant les données
        'WordApp.Quit 'ferme la session Word
    End Sub

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par saninx Voir le message
    Bonjour ,

    j'essaie de MODIFIER UN FICHER WORD A DES ENDROITS BIEN PRÉCIS AVEC EXCEL , mais je reçois une erreur 5174 chemin du fichier introuvable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set WordDoc = WordApp.Documents.Open("C:\Users\Ulrich DIE\Desktop\testmacro\wordmacro.doc")
    Cela dépend de Windows. Windows 7 (en tout cas, chez-moi) et peut-être plusieurs autres versions récentes de Windows, bloquent l'accès par programme à certains dossiers, incluant le bureau et ses sous-dossiers, par mesure de sécurité.

    Le plus simple c'est de ne pas avoir de fichiers de données sur le bureau. (Ni dans la racine du disque, non plus.)
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 257
    Points : 87
    Points
    87
    Par défaut
    merci,

    je viens de déplacer le fichier sur le D:\ mais j'ai la même réponse avec cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set WordDoc = WordApp.Documents.Open("D:\testmacro\wordmacro.doc")

  4. #4
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Fais un test préalable de l'existence du fichier word à l'endroit indiqué

    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
    Sub macrotest()
    Dim WordApp As Object, WordDoc As Object
    Dim Fichier As String
    Dim i As Byte
     
     
    Fichier = "C:\Users\Ulrich DIE\Desktop\testmacro\wordmacro.doc"
     
    If Dir(Fichier) <> "" Then
        Set WordApp = CreateObject("word.application")    'ouvre une session Word
        Set WordDoc = WordApp.Documents.Open(Fichier)
     
        For i = 1 To 2
            WordDoc.Bookmarks("Signet" & i).Range.Text = Cells(i, 1)
        Next i
     
        WordApp.Visible = True    'affiche le document Word
    '    WordDoc.PrintOut    'Pour imprimer le doc obtenu
     
        WordDoc.Close True    'ferme le document word en sauvegardant les données
        WordApp.Quit    'ferme la session Word
    Else
        MsgBox "Fichier introuvable"
    End If
    End Sub
    PS ton document est doc ou un docx?
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  5. #5
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 257
    Points : 87
    Points
    87
    Par défaut
    Je viens de me rendre conte que c'est un .docm , après avoir modifié j'ai maintenant cette erreur:

    le chargement se lance mais aucune modification ne se fait et il ne s'arrête plus.

  6. #6
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Fais un pas à pas (F8) et regarde ce que tu as.
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par saninx Voir le message
    merci,

    je viens de déplacer le fichier sur le D:\ mais j'ai la même réponse avec cette ligne
    D:\fichier.docm ce n'est pas mieux que C:\fichier.docm.

    Ce sont les racines des disques...
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  8. #8
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 257
    Points : 87
    Points
    87
    Par défaut
    la je suis un peu perdu dans ce langage qui est nouveau pour moi.

    je pourrais avoir un tutoriel qui me montre dans les détails comment se construit un tel programme ?

    merci de bien vouloir me venir en aide.

    j'ai transformé mon fichier en macroword.docx, j'ai comme chemin "D:\macro\testmacro\wordmacro.docx" mais j'ai maintenant une erreur sur la ligne WordDoc.Bookmarks("Signet" & i).Range.Text = Cells(i, 1).
    erreur : le membre de la collection n'est pas reconnu.
    le mieux pour moi serait d'avoir un tutoriel ou une explication assez détaillée sur ce processus, ce que je n'ai pas encore trouvé !

  9. #9
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 257
    Points : 87
    Points
    87
    Par défaut
    Concernant cette discussion j'ai trouvé la solution.

    le problème venait du fait que mes signet étaient mal construit sur Word.

    j'ai amélioré ce programme en lui permettant de créer a partir d'un model, une copie puis la renommer et l'enregistrer à un endroit définit dans la 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
    Private Sub erg_Click()
     
        Dim WordApp As Object, WordDoc As Object
        Dim Fichier As String
        Dim FichierCopie As String
        Dim i As Byte
        Dim cfichier As New Scripting.FileSystemObject
     
        Fichier = "D:\macros\testmacro\wordmacro.docx"
        cfichier.CopyFile Fichier, "D:\macros\testmacro\" & titre & ".docx", False
        FichierCopie = "D:\macros\testmacro\" & titre & ".docx"
        Set cfichier = Nothing
     
        If Dir(Fichier) <> "" Then
            Set WordApp = CreateObject("word.application")    'ouvre une session Word
            Set WordDoc = WordApp.Documents.Open(FichierCopie)
     
            For i = 1 To 2
                WordDoc.Bookmarks("Signet" & i).Range.Text = Cells(1, i)
            Next i
     
            WordApp.Visible = True    'affiche le document Word
           'WordDoc.PrintOut          'Pour imprimer le doc obtenu
           'WordDoc.Close True        'ferme le document word en sauvegardant les données
           'WordApp.Quit              'ferme la session Word
        Else
            MsgBox "Fichier introuvable"
        End If
     
        Unload Me
     
    End Sub
    GRAND MERCI, a tous pour votre aide.

  10. #10
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 257
    Points : 87
    Points
    87
    Par défaut
    Pour aller plus loin avec cette macro,

    j'aimerai pouvoir tester l’existence du dossier avant de l'enregistrer. si quelqu'un peu m'aider, sa sera une macro vraiment complète.

    Cordialement !

  11. #11
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 257
    Points : 87
    Points
    87
    Par défaut Erreur 76, chemin d'accès introuvable
    Bonsoir, Jai un gros soucis avec ma macro que je dois terminer urgemment.

    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
     
     
     
    Private Sub CommandButton1_Click()
     
        Dim WordApp As Object, WordDoc As Object
        Dim Fichier As String
        Dim FichierCopie As String
        Dim Titre As String
        Dim i As Byte
        Dim cfichier As New Scripting.FileSystemObject
     
        'Application.DisplayAlerts = False
        Fichier = "D:\macros\Production\Bancassurance\Courrier\TransmissTest.docx"
     
        Titre = "BIA Accèpté de" & TextBox1 & "du" & TextBox2
        'MsgBox Titre
        If cfichier.FileExists("D:\macros\Production\Courrier\" & Titre & ".docx") Then
            MsgBox "Ce nom de fichier existe déjà, veuillez essayer un autre nom!"
            End
        End If
     
        cfichier.CopyFile Fichier, "D:\macros\Production\Copies\" & Titre & ".docx", True 'False
        FichierCopie = "D:\macros\Production\Copies\" & Titre & ".docx"
        Set cfichier = Nothing
     
        If Dir(Fichier) <> "" Then
            Set WordApp = CreateObject("word.application")    'ouvre une session Word
            Set WordDoc = WordApp.Documents.Open(FichierCopie)
     
            For i = 1 To 18
                WordDoc.Bookmarks("Signet" & i).Range.Text = Cells(2, i)
            Next i
     
            WordDoc.Save
            WordApp.Visible = True    'affiche le document Word
           'WordDoc.PrintOut          'Pour imprimer le doc obtenu
           'WordDoc.Close True        'ferme le document word en sauvegardant les données
           'WordApp.Quit              'ferme la session Word
        Else
            MsgBox "Fichier introuvable"
            End
        End If
     
        Unload Me
     
    End Sub
     
    Private Sub TextBox1_Change()
        TextBox2.Text = Date
    End Sub
     
    Private Sub TextBox2_Change()
     
    End Sub
    J'ai une erreur d'exécution 76, chemin d'accès introuvable et je ne comprend rien pourtant j'ai une macro du même genre qui fonctionne bien.

  12. #12
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Bonjour,

    Que contiennent TextBox1 et TextBox2?

    Les noms de fichiers ne peuvent contenir certains caractères comme "/".

    La prochaine fois, évite de poster 2 fois la même question.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

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

Discussions similaires

  1. [XL-2010] macro pour ouvrir x fichier selectionner des col et les coller dans une feuille xl
    Par grainedechipie dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/02/2015, 09h46
  2. [XL-2010] Pb Macro pour ouvrir un fichier Word et copier des données dans des signets
    Par MPRIBOM dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 30/10/2014, 14h00
  3. Réponses: 1
    Dernier message: 04/05/2009, 20h01
  4. [HTML] Macro pour modifier plusieur fichier html
    Par naouah dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 16/01/2009, 09h40
  5. Macro pour ouvrir un fichier excel avec des ','
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 30/05/2007, 18h08

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