La méthode "Item" de l'objet "shapes" a échoué

Bonjour,

J'ai une macro pour créer des ppt à partir de mon excel. Je vous zappe les lignes de code qui ne concernent pas mon problème.

Dans le code suivant, la macro crash à la ligne " With .Slides(5).Shapes(5)" en me disant que la méthode Item de l'objet Shapes a échoué. Or, si je débugue et que je clique sur lecture, la macro fonctionne correctement, sans avoir à faire aucun changement.

Je ne comprends pas d'où le bug peut venir, pourriez-vous m'aider?

Merci

     Worksheets("Spend overview").Range("B79:E99").Copy
    'Effectue un collage dans la 4eme diapositive
    PptDoc.Windows(1).Activate
    PptDoc.Windows(1).View.GotoSlide 5
    PptApp.CommandBars.ExecuteMso ("PasteSourceFormatting")

         With .Slides(5).Shapes(5)
        .Name = "Spendbycountry" 'personnalise le nom
        .Left = 37 'définit la position horizontale dans le slide
        .Top = 111 'définit la position verticale dans le slide
        .Height = 338 'hauteur
        .Width = 292 'largeur

    End With

Bonjour

Suggestion :

A cette ligne --> With .Slides(5).Shapes(5), tu as un point devant Slides

Il faut vérifier qu'il y a bien un WITH... plus haut dans le code, sinon il faut essayer en enlevant ce point

Amicalement

Bonjour,

Je ne comprends pas votre remarque...Il y a bien un With, situé juste avant le . et si j'enlève le point, cela ne fonctionne plus.

Mais de mon humble avis, l'erreur ne vient pas de là car comme je l'ai dit, si je reclique sur play après avoir cliqué sur déboggage, la macro tourne...

Re

Je ne comprends pas votre remarque...Il y a bien un With, situé juste avant le .

Je ne parle pas de ce WITH là. Lui doit rester mais plus haut dans le code on devrait avoir une autre WITH qui fait référence à quelque chose, une feuille par exemple

exemple :

With Sheets("feuille")
Worksheets("Spend overview").Range("B79:E99").Copy
'Effectue un collage dans la 4eme diapositive
PptDoc.Windows(1).Activate
PptDoc.Windows(1).View.GotoSlide 5
PptApp.CommandBars.ExecuteMso ("PasteSourceFormatting")

With .Slides(5).Shapes(5)
'....
End with

End with

Essayez de remettre le code dans un autre module sans laisser des espaces en début de ligne des instructions et entre chaque instruction.

Ok autant pour moi.

Mais comme dit plus haut le problème ne vient pas de là malheureusement, il y a bien un with plus haut qui correspond à mon pptDoc.

J'ai essayé également de nettoyer un peu les lignes, rien n'y fait, cela ne marche toujours pas ...

re

Mets un peu plus de code dans ton post. ce sera peut être plus simple

Crdlt

Rechercher des sujets similaires à "methode item objet shapes echoue"