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

VBA Word Discussion :

Importer des données d'un docx vers un xlsx


Sujet :

VBA Word

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 65
    Points : 61
    Points
    61
    Par défaut Importer des données d'un docx vers un xlsx
    Bonjour à tous,

    J'ai deux fichiers :
    - Un fichier word
    - Un fichier excel

    Je veux créer une macro dans mon fichier word qui :
    - va chercher des données dans le doc
    - ouvre le fichier excel
    - copie les données dans une feuille déjà existante du fichier excel

    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
     
    Sub TransfertDonnees()
     
        Dim xlApp As New Excel.Application
        Dim TB As Excel.Workbook
        Dim Ongl1 As New Excel.worksheet
        Dim Docu As Document
        Dim TB As Workbook
     
        Set Docu = ActiveDocument
     
        'Ouverture du fichier Excel
        xlApp.Workbooks.Open "C:\Chemin..."
        xlApp.Visible = True
        Set TB = ActiveWorkbook
     
    End Sub
    Jusque-là, tout va bien. Là où cela se complique, c'est quand je veux déclarer la feuille dans laquelle doivent s'inscrire mes données. Cette feuille existe déjà dans mon fichier et dans l'éditeur vba du fichier excel, j'ai renommé la feuille (Feuil1-->Donnees). Attention, j'ai renommé le nom vba de la feuille, pas le nom de l'onglet.

    Je souhaite donc déclarer comme suit la feuille :

    (Comme je le ferais si j'étais dans vba Excel)

    Mais cela ne fonctionne pas. Ce qui fonctionne par contre, c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Onlg1=TB.Worksheets("Nom de la feuille")
    Cependant, j'aimerais éviter cette solution car si une personne modifie le nom de la feuille, la macro ne marchera plus. Quelqu'un a une idée de la manière de procéder ?

    J'espère avoir été suffisamment clair et vous remercie par avance.

    Pubbins

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, voir dans la FAQ
    Pour éviter les histoires de noms modifiés d'onglets, il faut utiliser le CodeName

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 65
    Points : 61
    Points
    61
    Par défaut
    Merci kiki mais malheureusement cela ne répond pas exactement à ma question.

    Je ne trouvais plus le terme mais en effet je veux utiliser un codename. Le problème que je rencontre c'est que je n'arrive pas à utiliser les codename d'Excel dans Word. Je m'explique :

    J'ouvre le fichier Excel :

    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
    Sub TransfertDonnees()
     
        Dim xlApp As New Excel.Application
        Dim TB As Excel.Workbook
        Dim Ongl1 As New Excel.worksheet
        Dim Docu As Document
        Dim TB As Workbook
     
        Set Docu = ActiveDocument
     
        'Ouverture du fichier Excel
        xlApp.Workbooks.Open "C:\Chemin..."
        xlApp.Visible = True
        Set TB = ActiveWorkbook
     
    End Sub
    Dans le fichier Excel, il y a une feuille dont le codename est "Donnees". Et je voudrais donc désigner ma feuille dans le document word comme ceci :

    Mais cela ne fonctionne pas et je ne vois pas comment faire !

    Merci par avance,

    Pubbins

Discussions similaires

  1. Importation des données .txt et .xls vers MySQL
    Par Ammouna1204 dans le forum Documents
    Réponses: 7
    Dernier message: 05/09/2012, 15h00
  2. Réponses: 4
    Dernier message: 09/06/2011, 11h48
  3. [AC-2007] Importer des données MS Excel 2007 vers MS Access 2007
    Par stongm dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/02/2009, 13h33
  4. Importer des données d'un fichier vers LabVIEW
    Par beluga18 dans le forum LabVIEW
    Réponses: 4
    Dernier message: 02/06/2008, 15h18
  5. Importer des données de 250 feuilles vers une seule
    Par Bryan78 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/04/2008, 16h18

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