Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint
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 12/06/2007, 14h58   #1
Invité de passage
 
Inscription : juin 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 5
Points : 2
Points : 2
Par défaut Supprimer un graphique sur diapo

Bonjour a tous,

Novice dans la prog vba, mais votre site ma beaucoup aider a avancer.

voila ma question, je souhaite ouvrir un doc powerpoint ainsi qu'un fichier excel.
du fichier excel copier des elements et coller vers Powerpoint. jusqu'ici ca va !

Mon point bloquant c'est que mon doc powerpoint a deja des graph, les copies issue d'excel doivent ecraser l'existant. je n'ai pas trouver la solution sur le forum, si vous pouvier m'aider merci

voici mon code :

Code :
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
'ouvre le fixhier excel
 
Workbooks.Open Filename:= _
"C:\Excel\Monfichier.xls", UpdateLinks:=3
Sheets("ZAP").Select
 
' ouvre Powerpoint
Dim PPT As PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation
Dim NbShpe As Byte
 
Set PPT = CreateObject("Powerpoint.Application") 'creation session PowerPoint
PPT.Visible = True 'l'application sera visible
Set PptDoc = PPT.Presentations.Open("C:\powerpoint\Mondocuments.ppt")
 
'copie et colle vers ppt
 
Sheets("zap").Select
Range("A1:k8").Select
Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
PptDoc.Slides(2).Shapes.Paste
 
'compte le nombre de shapes dans le 3eme slide
'le dernier objet inséré correspond à l'index le plus élevé
NbShpe = PptDoc.Slides(2).Shapes.Count
 
With PptDoc.Slides(2).Shapes(NbShpe)
.Name = "Zap1" 'personnaliser le nom de l'image insérée
.Left = 5 'position horizontale dans le slide
.Top = 230 'position verticale dans le slide
.Height = 100 'hauteur image
.Width = 730 'largeur image
End With
Merci de votre aide
plasmadav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 15h44   #2
Invité régulier
 
Inscription : mai 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 34
Points : 6
Points : 6
Salut

Je ne sais pas si ca peut t'aider mais dans mon cas je n'écrase pas les graphiques mais jai mis des collages avec liaisons.
Avec le code suivant ca les met à jour :
Code :
1
2
3
4
5
6
7
8
'LiaisonsMAJ
    For Each sld In ActivePresentation.Slides
        For Each Forme In sld.Shapes
            If Forme.Type = msoLinkedOLEObject Then
            Forme.LinkFormat.Update
            End If
        Next
    Next
En esperant que ca t'aide

edit:
plus la définition des variables j'avais oublié
Code :
1
2
Dim Forme As Shape
Dim sld As Slide
toma65 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2007, 16h29   #3
Invité de passage
 
Inscription : juin 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 5
Points : 2
Points : 2
sympa, merci pour ton aide mais j'ai dit graph mais ce n'est pas que ca il y a des tableaux ou meme des images...

je garde ton code pour les graphs merci mais la pluspart des pages sont constituer d'image ou tableau....

je ne sais pas si je parviendrais a faire cette operation, car il convient de définir une zone a supprimer ect...

enfin si y a des idées je prends
plasmadav 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 20h17.


 
 
 
 
Partenaires

Hébergement Web