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 :

[VBA-E]Insertion graphique Excel dans Word


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut [VBA-E]Insertion graphique Excel dans Word
    Bonjour,

    grâce à du VBA je créé automatiquement des graphiques dans excel qui sont placés directement dans des feuilles (ce sont donc des onglets).

    Je souhaite désormais insérer ces graphiques dans un document word à des emplacements délimités par des onglets.

    Mais comment faire ? En particulier comment choisir les graphiques ?

    Les solutions que j'ai trouvé sur le net ne fonctionnent pas

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut
    Petite question concernant la solution proposée :

    Dans la ligne de code :

    Sheets("Feuil1").ChartObjects(1).Copy 'copie le 1er graphique de la Feuil1

    Sheets("Feuil1") correspond à mon onglet ? Et dans ce cas chartobjects(1) correspond à quoi ? En particulier l'incrémentation 1 ?

    C'est là que c'est flou

  3. #3
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Sheets("Feuil1").ChartObjects(1).Copy 'copie le 1er graphique de la Feuil1
    tout est dans le commentaire

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut
    Mes graphiques ne sont pas placés sur des feuilles à côté de tableaux mais ce sont directement des feuilles, donc directement des onglets.

    Et le code proposé ne fonctionne pas, il ne reconnaît pas le chartobject justement

    J'utilise donc ceci :

    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
     
    Sub OuvrirFichierWord()
    Set appWord = CreateObject("Word.application")
    appWord.Visible = True
    Set docWord = appWord.Documents.Open(Doc)
     
    var1 = "Graphe" 'nom de mon onglet
    var2 = "classeurgraphique" 'nom de mon signet dans word
     
    Call CollageGraphique(var1, var2)
     
    End Sub
     
    Sub CollageGraphique(nomgraphique, nomonglet)
     
    Sheets(nomgraphique).Select
    ActiveSheet.ChartObjects.Select
    ActiveChart.ChartArea.Copy
     
    docWord.Bookmarks.Item(nomonglet).Select
    docWord.Selection.PasteSpecial link:=False, _
        DataType:=wdPasteEnhancedMetafile, _ 
        Placement:=wdInLine, DisplayAsIcon:=False
    End Sub
    Or c'est sur la ligne docWord.selection.pastespecial que j'ai un message d'erreur :propriété ou méthode non géré par cet objet

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut
    Non cela fonctionne pas non plus à priori cela ne provient pas des options link... mais directement de la méthode selection.pastespecial mais je vois pas pourquoi

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    et elle est déclaré ou ta variable docword ?

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonjour

    j'espere que cette adaptation pourra t'aider

    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
     
    Dim DocWord As Object
    Sub OuvrirFichierWord()
    Dim Var1 As String, Var2 As String
    Dim appWord As Object
    Set appWord = CreateObject("Word.application")
    appWord.Visible = True
    Set DocWord = appWord.Documents.Open("C:\leDocument.doc")
    Var1 = "Graphe" 'nom de mon onglet
    Var2 = "classeurgraphique" 'nom de mon signet dans word
    Call CollageGraphique(Var1, Var2)
    End Sub
     
    Sub CollageGraphique(nomgraphique, nomonglet)
    Sheets(nomgraphique).ChartArea.Copy
    DocWord.Bookmarks.Item(nomonglet).Range.PasteSpecial _
    link:=False, DataType:=wdPasteBitmap
    End Sub


    bonne journée
    michel

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut
    Merci à tous pour vos propositions. Oui Michel, cela fonctionne parfaitement mon graphqiue s'insère bien à l'endroit prévu. Comme mes prochaines pages seront en paysage, je vais chercher pour lui faire faire une rotation au mais c'est nickel merci beaucoup.

    @+

    Sat478

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/06/2008, 10h08
  2. Insertion objet eXcel dans Word
    Par muchmorehuman dans le forum Word
    Réponses: 5
    Dernier message: 12/02/2008, 09h27
  3. Inserer un graphique excel dans word
    Par Tibaldus dans le forum VBA Word
    Réponses: 1
    Dernier message: 21/09/2007, 10h49
  4. [VBA-W]Insertion graphique excel
    Par dev81 dans le forum VBA Word
    Réponses: 12
    Dernier message: 26/04/2007, 09h49
  5. [VBA-E] Insertion de texte dans word
    Par malhivertman1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/05/2006, 16h17

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