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 Excel pour ajuster un tableau à une feuille dans Word [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    Utilsatricer occasionnelle
    Inscrit en
    Mai 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Utilsatricer occasionnelle
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2016
    Messages : 8
    Par défaut Macro Excel pour ajuster un tableau à une feuille dans Word
    Bonjour,

    Je suis débutante et utilisatrice occasionnelle des macros dans Excel. Cependant, je souhaite écrire une macro permettant de :
    - copier un tableau d'une feuille Excel
    - ouvrir un nouveau fichier fichier Word
    - coller le tableau dans le fichier Word
    - ajuster le tableau à la feuille (dans Word)

    La macro que j'ai écrite fonctionne jusqu'au "coller le tableau dans le fichier Word", ensuite un message apparaît : "objet requis"

    Voilà la macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub CopierCollerDansWord()
     
    Dim oWdApp As Object 'Word.Application
    Dim oWdDoc As Object 'Word.Document
    Set oWdApp = CreateObject("Word.Application")
    Set oWdDoc = oWdApp.Documents.Open("C:\Users\0501363\Documents\XX\ECSR\DTE_ECSR\BanqueSujets&questions\ResultatSujetsECSR.docx")
    oWdApp.Visible = True
    ActiveSheet.Range("A1:C13").Copy
    oWdApp.Selection.Paste
     
    Application.CutCopyMode = False
    WordDoc.Tables(1).AutoFitBehavior wdAutoFitWindow
    End Sub
    J'ai mis en pièce jointe une image de cette macro.

    Si vous avez la solution à mon problème je suis preneuse.
    Je vous remercie par avance de votre aide.
    Bien à vous
    Images attachées Images attachées  

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Je pense que ceci ne peut pas marcher :
    Tout simplement parce que tu n'as rien sélectionné dans Word, donc, logiquement, Selection est vide.

    Il faudrait que tu indiques une référence à la position où tu souhaites placer ton tableau copié.

    Je ne suis pas tout à fait au jus pour ce qui est des macro Word mais il me semble que le plus simple serait de mettre un marque-page dans ton modèle Word à l'endroit où tu va placer ton tableau pour ensuite y faire référence (Bookmark) dans la macro VBA.
    https://msdn.microsoft.com/fr-fr/lib.../ff194977.aspx
    https://msdn.microsoft.com/fr-fr/lib.../ff837530.aspx

  3. #3
    Membre du Club
    Femme Profil pro
    Utilsatricer occasionnelle
    Inscrit en
    Mai 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Utilsatricer occasionnelle
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2016
    Messages : 8
    Par défaut
    Bonjour,

    Merci pour l'info. J'ai progressé mais toujours pas résolu mon problème. J'arrive maintenant à sélectionner mon tableau dans Word, comme tu me l'as très justement fait remarquer. En revanche la ligne de commande pour ajuster ce tableau à la fenêtre ne fonctionne pas, le message d'erreur suivant s'affiche :
    Propriété ou méthode non gérée par cet objet.

    Je n'arrive pas à trouver la commande qui le permettrait.
    En pièce jointe la macro mise à jour.

    Merci pour votre aide.
    Images attachées Images attachées  

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Tu devrais copier le code dans ton message plutôt que de faire des copies d'écran dont on ne peut pas reprendre le contenu.

    Comme je le disais, je ne suis pas spécialiste des macro Word mais il me semble incongru d'appliquer une méthode d'ajustement de tableau directement à l'objet Word lui-même.
    Je pense (sans certitude) qu'il faudrait plutôt l'appliquer à un objet tableau de l'objet document de l'objet Word.

    Regarde dans l'aide VBA de Word pour savoir à quel objet s'applique cette méthode.

  5. #5
    Inactif  

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

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Quand on pilote une seconde application à partir d'une première application, il faut utiliser la valeur numérique des constantes et non leur nom.

    Dans l'aide de VBA-Word, voir :

    WdAutoFitBehavior, énumération

    wdAutoFitContent = 1
    wdAutoFitFixed = 0
    wdAutoFitWindow = 2

    Comme d'habitude, ou presque, chercher une constante dans l'aide mène au lien vers l'énumération

  6. #6
    Expert confirmé
    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
    Par défaut
    Salut, c'est plutôt une affaire d'Early/Late Binding, enfin je crois ?

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

Discussions similaires

  1. Macro excel pour copier des ensembles de lignes de Word vers Excel
    Par Mague13 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/02/2016, 11h14
  2. Réponses: 6
    Dernier message: 27/06/2014, 14h54
  3. [XL-2010] Macro Excel pour se positionner sur une valeur d'une liste déroulante
    Par benadry dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/09/2013, 12h57
  4. Macro pour se déplacer sur une feuille excel
    Par arkorrigan dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/03/2010, 20h41
  5. Réponses: 6
    Dernier message: 24/01/2007, 08h15

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