IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Discussion :

VBA PowerPoint Slides


Sujet :

VBA

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 54
    Points : 57
    Points
    57
    Par défaut VBA PowerPoint Slides
    Bonjour a tous,

    J'ai un probleme avec mon code VBA pour creer des presentation sur PowerPoint. Mon code va chercher un template specifique dans mon bureau.

    Puis je veux selectionner la slide 2 et copier coller un range d'excel. Mais le probleme est que je n'arrive pas a selectionner les slides et j'ai une erreur 429:"ActiveX component can't create object"

    Quelqu'un aurai une idee?

    Merci d'avance


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Option Explicit
     
    Sub CreatePowerPoint()
     
    Dim mySlide As PowerPoint.Slide
    Dim myShapeRange As PowerPoint.Shape
    Dim oPA As PowerPoint.Application
    Dim oPP As PowerPoint.Presentation
    Dim strTemplate As String
    Dim rng As Range
     
    strTemplate = "C:\Users\290866\Desktop\vba\PPT\Template.potx"
     
    Set oPA = New PowerPoint.Application
    oPA.Visible = msoTrue
    oPA.Presentations.Open strTemplate, untitled:=msoTrue
     
    If Not mySlide Is Nothing Then Set mySlide = Nothing
    If Not oPP Is Nothing Then Set oPP = Nothing
    If Not oPA Is Nothing Then Set oPA = Nothing
     
     
    Err_PPT:
    If Err <> 0 Then
    MsgBox Err.Description
    Err.Clear
    Resume Next
    End If
     
    Set rng = ThisWorkbook.Sheets("Credit Recommendation").Range("B2:N59")
     
    set mySlide = ActivePresentation.Slides(1)
      rng.Copy
    mySlide.Shapes.PasteSpecial (ppPasteBitmap)
      Set myShapeRange = mySlide.Shapes(mySlide.Shapes.Count)
    myShapeRange.LockAspectRatio = msoFalse
          myShapeRange.Left = 20
          myShapeRange.Top = 80
          myShapeRange.Height = 400
     myShapeRange.Width = 680
      Application.CutCopyMode = False
     
     
    End Sub

  2. #2
    Membre éclairé Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Points : 827
    Points
    827
    Par défaut
    est ce qu'il ne faudrait pas que tu fasse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mySlide.Shapes.AddShape(...)
    Jette un oeil la dessus
    - La dernière fois que j'ai testé ca fonctionnait !
    - Vous n'avez rien modifié ?
    - Non ! Je suis pas idiot non plus.
    - ....
    - Enfin si, juste le fichier .dll, mais a 4Ko, ca devait pas être important.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 54
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par Nako_lito Voir le message
    est ce qu'il ne faudrait pas que tu fasse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mySlide.Shapes.AddShape(...)
    Jette un oeil la dessus
    J'utilise cette ligne plus bas dans le code mais le probeleme c'est que je n'arrive pas a selectionner la slide que je veux.

    Par exemple j'aimerai selectionner la slide 2 et 4 du template que je selectionne. Et j'ai une erreur ActiveX object.
    Et c'est sur ce point la que je bloc.

  4. #4
    Membre éclairé Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Points : 827
    Points
    827
    Par défaut
    de ce que je vois du code que tu as partagé, je ne vois rien de similaire.

    En tout cas, une erreur ActiveX est souvent dûe a un élément non initialisé ou mal définit.

    est ce que tu as regardé le lien que j'ai mis ?
    - La dernière fois que j'ai testé ca fonctionnait !
    - Vous n'avez rien modifié ?
    - Non ! Je suis pas idiot non plus.
    - ....
    - Enfin si, juste le fichier .dll, mais a 4Ko, ca devait pas être important.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-Powerpoint] Agrandir une image
    Par marsupilami34 dans le forum VBA PowerPoint
    Réponses: 15
    Dernier message: 06/09/2009, 00h58
  2. [VBA-PowerPoint]Quizz avec nombre de vie
    Par fouine974 dans le forum VBA PowerPoint
    Réponses: 2
    Dernier message: 15/08/2007, 18h01
  3. Réponses: 1
    Dernier message: 22/07/2007, 22h07
  4. [VBA-PowerPoint] Connaître la résolution d'une image
    Par Nosty dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 23/05/2007, 12h36
  5. Réponses: 1
    Dernier message: 23/05/2007, 11h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo