VBASupprimer toute les images d'une slide PPT

Régis -  
m@rina Messages postés 27617 Date d'inscription   Statut Modérateur Dernière intervention   -
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

3 réponses

  1. m@rina Messages postés 27617 Date d'inscription   Statut Modérateur Dernière intervention   11 563
     
    Bonjour,

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

    m@rina
    0
  2. Régis
     
    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
  3. m@rina Messages postés 27617 Date d'inscription   Statut Modérateur Dernière intervention   11 563
     
    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