Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/11/2007, 12h14   #1
Membre à l'essai
 
Inscription : septembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 40
Points : 22
Points : 22
Par défaut Copier/Coller d'un graphique Excel.

Bonjour à tous.
Voilà mon petit soucis :
J'utilise la fonction "publipostage" de Word (version XP) pour créer des rapports d'étude (à partir d'un modèle "rapport.dot"). Dans ces rapports, j'ai inserré 2 graphiques Excel avec liaisons (si le fichier Excel est modifié, il se modifie également dans le Word). Je voudrai donc, une fois le rapport terminé, supprimer cette liaison automatiquement, afin que le rapport crée ne se modifie pas par mégarde.
J'utilise une macro pour le publipostage, et j'ai donc ajouté à la fin un copier/collage spécial des graphs pour les remplacer par des images (sans liaisons) :
Code :
1
2
3
    ActiveDocument.Shapes("Object 4").Select
    Selection.Cut
    Selection.PasteAndFormat Type:=wdChartPicture
Le problème est que j'ai un message d'erreur qui s'affiche : "Cette commande n'est pas disponible" et je comprend pas trop pourquoi...

Quelqun aurai-t-il une petite suggestion?

Merci d'avance à tous.

Tibaldus
Tibaldus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2007, 14h35   #2
Membre à l'essai
 
Inscription : septembre 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 40
Points : 22
Points : 22
Bon, ba en fait j'ai réussi à trouver tout seul (non sans mal... ) un moyen d'y arriver.
En fait, le truc c'est que il ne faut pas faire un "copier/coller" du graph. J'ai toujours pas compris pourquoi, mais ça ne marche pas... J'ai donc utilisé la fonction "BreakLink" pour supprimer les liaisons.
Pour ceux que ça interesse (on sait jamais), voici le petit bout de code que j'ai utilisé :
Code :
1
2
3
4
5
6
7
For Each shapeLoop In ActiveDocument.Shapes
    With shapeLoop
        If .Type = 10 Then
            .LinkFormat.BreakLink
        End If
    End With
Next shapeLoop
Merci quand même à tout ceux qui ont pris le temps de me lire.

Tibaldus
Tibaldus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h42.


 
 
 
 
Partenaires

Hébergement Web