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 :

Importer le contenu d'un ficheir word dans une app VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    544
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 544
    Par défaut Importer le contenu d'un ficheir word dans une app VBA
    Bonjour,
    J’ai un programme VBA qui produit un document .txt au moyen de Print #1, à partir d’une feuille Excel utilisée comme une db. J’aimerais l’adapter de manière à incorporer le contenu d’un fichier .docx au .txt produit. J’ai essayé d’appliquer les commandes Excel Insertion>Texte etc. sans VBA mais le .docx s’affiche devant la feuille Excel et en masque une grande partie. D’autre part faire un copier-coller de Word à Excel sur une feuille qui contient plus de 200 enregistrements est trop fastidieux, d’où la recherche d’une automatisation.
    L’app compte plus de 3000 lignes et je me borne à une courte citation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Print #1, "1 TITL Baptême " & Trim(Cells(nolignelue, NomNouveauNe_Col).Value) & " " & Trim(Cells(nolignelue, PrenomNouveauNe_Col).Value) & Date_Longue & Lieu
       Print #1, "1 REPO " & "@R" & Gen_Repo(Cells(nolignelue, Archives_Col).Value) & "@"
       Print #1, "2 CALN " & Conv_Acte(nolignelue, Cote_Col, Page_Col)
       Print #1, "3 MEDI " & Cells(nolignelue, TypeRegistre_Col) '& " " & Cells(nolignelue, Commune_Col)
       Print #1, "2 CONT Réf Excel " & Cells(nolignelue, Codefeuille_Col).Value
    Ce qu’il faudrait, c’est que quand l’exécution rencontre la ligne (par exemple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(nolignelue, monfichier.docx)
    elle reprenne à cet endroit le contenu du fichier Word lié à cette cellule.
    Je ne sais pas si c’est possible ni comment faire.
    Merci d’avance pour toute aide.
    Cordialement
    Touche_a_tout

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Bonjour, voici une idée:

    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
    Sub GenererFichierTxtAvecDocx()
        Dim nomFichierTxt As String
        Dim cheminFichierTxt As String
        Dim cheminFichierDocx As String
        Dim contenuDocx As String
        Dim appWord As Object
        Dim docWord As Object
     
        ' Spécifie le nom du fichier .txt (ajuste le nom selon tes besoins)
        nomFichierTxt = "NomFichier.txt"
     
        ' Spécifie le chemin du fichier .txt en incluant le nom du fichier
        cheminFichierTxt = "C:\Chemin\vers\ton\" & nomFichierTxt
     
        ' Spécifie le chemin du fichier .docx (assure-toi que la cellule contient le bon chemin)
        cheminFichierDocx = Cells(nolignelue, noColonneContenantCheminDocx).Value
        ' Crée une instance de Word
        Set appWord = CreateObject("Word.Application")
     
        ' Ouvre le document Word
        Set docWord = appWord.Documents.Open(cheminFichierDocx)
     
        ' Récupère le contenu du document Word
        contenuDocx = docWord.Content.Text
     
        ' Ferme le document Word
        docWord.Close
     
        ' Ferme l'application Word
        appWord.Quit
     
        ' Ouvre le fichier .txt en mode ajout (append)
        Open cheminFichierTxt For Append As #1
     
        ' Écrit le contenu du document Word dans le fichier .txt
        Print #1, contenuDocx
     
        ' Ferme le fichier .txt
        Close #1
     
        MsgBox "Traitement terminé!"
     
    End Sub

  3. #3
    Membre éclairé Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    544
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 544
    Par défaut [XL-2016] Importer le contenu d'un ficheir word dans une app VBA
    Bonjour et merci, Franc,
    Il va me falloir un peu de temps pour tester ton idée, qui paraît prometteuse. A+
    Cordialement
    touche_a_tout

Discussions similaires

  1. [2014] Importer le contenu d'un fichier CSV dans une table : "the best way" ?
    Par StringBuilder dans le forum Développement
    Réponses: 7
    Dernier message: 20/01/2016, 22h48
  2. [AC-2010] Copie du contenu d'un document Word dans une champ mémo
    Par JFDAccess dans le forum VBA Access
    Réponses: 6
    Dernier message: 12/11/2014, 14h40
  3. [MySQL] importer le contenu d'un fihier excel dans une base de données
    Par Jasmin89 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/07/2010, 14h23
  4. Implémenter un fichier Word dans une APP VB.net
    Par xzéna dans le forum VB.NET
    Réponses: 6
    Dernier message: 15/03/2009, 16h04
  5. Réponses: 1
    Dernier message: 18/04/2007, 18h13

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