VBASupprimer toute les images d'une slide PPT

Fermé
Régis - 21 févr. 2013 à 17:29
m@rina Messages postés 20040 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 avril 2024 - 23 févr. 2013 à 18:56
Bonjour,

Je viens d'utiliser le bout de code fournit dans ce forum, sur le même thème que le miens: "VBASupprimer toute les images d'une slide PPT"

http://www.commentcamarche.net/forum/affich-25241160-vbasupprimer-toute-les-images-d-une-slide-ppt


Voici la partie qui me bloque:
dim tablo As Shape, nb

'suppression du tableau
On Error Resume Next 'au cas où le tablo n'existerait pas
Set tablo=Pptdoc.Slides(6).Shapes("tablo")
tablo.Delete
On Error Goto 0

'on colle le tableau
Pptdoc.Slides(6).Shapes.PasteSpecial ppPasteEnhancedMetafile
'on compte le nb de shapes
nb = Pptdoc.Slides(6).Shapes.Count
'on donne le nom tablo au dernier :
Pptdoc.Slides(6).Shapes(nb).Name = "tablo"



à priori elle à l'air de fonctionner chez les autres mais pas chez moi.

La macro tourne sans s'arrêter, mais n'effectue pas la suppression!

Je n'ai pourtant pas changé grand chose:
- tablo -->courbe
- nb --> NbShp
- PasteSpecial ppPasteEnhancedMetafile --> Paste


Quand je fais un test pour trouver les noms des graph, on m'indique bien le nom "courbe", donc le graph est bien renommé..


Auriez-vous une idée de ce qui ne va pas?

Merci beaucoup,

Régis



A voir également:

3 réponses

m@rina Messages postés 20040 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 avril 2024 11 269
21 févr. 2013 à 23:54
Bonjour,

Mais, au fait, tu veux faire quoi précisément ??

m@rina
0
bonjour,

Je souhaite coller un graph (qui vient de Excel) dans un PPT automatiquement et chaque semaine, sans oublié de supprimer le graph de la semaine S-1.


A priori je veux la même chose que la personne d'avant sur le même sujet...

J'utilise le même code (en changeant 2 ou 3 mots, comme dit précédemment), la macro tourne bien, mais ne supprime pas le graph précédent.

Merci,
Régis
0
m@rina Messages postés 20040 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 avril 2024 11 269
Modifié par m@rina le 23/02/2013 à 18:56
Bonjour,

Essaie plutôt ceci :

Sub graph() 

Dim courbe As Shape, nb 
Dim diapo As Slide 
'mettre le numéro de la diapo 
Set diapo = ActivePresentation.Slides(6) 

'suppression du graph 

On Error Resume Next  
Set courbe= diapo.Shapes("courbe") 
courbe.Delete 
On Error GoTo 0 

'on colle le graph 
diapo.Shapes.Paste  
nb = diapo.Shapes.Count 
'on renomme 
diapo.Shapes(nb).Name = "courbe" 

End Sub


m@rina

Si vous voulez être aidé efficacement, vérifiez que vous êtes sur le bon forum,... et précisez le logiciel utilisé ainsi que sa version. Nous manquons de devins !
0