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

Macros et VBA Excel Discussion :

Remplir Ppt avec le contenu des cellules d'un classeur [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 3
    Par défaut Remplir Ppt avec le contenu des cellules d'un classeur
    Bonsoir\Bonjour à tous

    Je suis actuellement en train d'essayer d'automatiser le passage d'information d'un classeur Excel vers une diapo Powerpoint.
    Le soucis est que je suis complètement perdu dans la manipulation des Shapes...

    Ce que j'aimerais faire c'est prendre le contenu de certaines cellule dans mon classeur pour remplir des shapes avec.
    Par exemple je voudrais que le titre de ma diapo1 devienne le contenu de la cellule B2 ect.

    J'ai trouvé ce morceau de code mais je n'arrive pas à l'adapter. Pour l'instant une nouvelle zone de texte est créée et à l"intérieur de celle-ci on peut retrouver le texte de la cellule B2 alors que je ne souhaite pas avoir une nouvelle zone de texte mais juste remplir le titre de la diapo.


    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
    Private Sub CommandButton1_Click()
     
     
    Dim PptApp As PowerPoint.Application
    Dim PptDoc As PowerPoint.Presentation
    Dim Diapo As PowerPoint.Slide
    Dim Sh As PowerPoint.Shape
    Dim Cs1 As ColorScheme
    Dim NbShpe As Integer
    Set PptApp = CreateObject("Powerpoint.Application")
     
     
    Dim FichierPpt, pwpt, presppt
    Set pwpt = CreateObject("PowerPoint.Application")
    pwpt.Visible = True '
     
     
    Set presppt = PptApp.Presentations.Open(Filename:="D:\Users\Damien\Desktop\Présentation1222.pptx")
     
    pwpt.Visible = True
    With presppt
        '--- Ajoute un Slide
      ' .Slides.Add Index:=1, Layout:=ppLayoutBlank
       'Crée une zone de texte (AddLabel)
       Set Sh = .Slides(1).Shapes.AddLabel(Orientation:=msoTextOrientationHorizontal, _
            Left:=100, Top:=100, Width:=150, Height:=60)
     
     
        'insère la valeur de la Cellule B2 dans une zone de texte
       Sh.TextFrame.TextRange.Text = Range("B2")
        'Modifie la couleur du texte
       Sh.TextFrame.TextRange.Font.Color = RGB(255, 100, 255)
     
        'Compte le nombre de shapes dans la diapositive:
       'le dernier objet inséré correspond à l'index le plus élevé
       NbShpe = Diapo.Shapes.Count
     
     
        End With
     
     
     
     
    End Sub

    Merci d'avance à ceux qui auront le temps et la patience de m'aider et à ceux qui m'auront au moins lu!
    Bonne soirée à tous.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 3
    Par défaut
    C'est bon je pense avoir trouvé, merci à ceux qui ont au moins pris le temps de me lire.
    Je laisse un morceau de code si ça peut servir!

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    Private Sub CommandButton1_Click()
     
        'Déclarations des variables
    Dim oPPTApp As PowerPoint.Application
    Dim oPPTShape As PowerPoint.Shape
    Dim oPPTFile As PowerPoint.Presentation
    Dim SlideNum As Integer
    Dim Var288 As Variant
    Dim oPPTShape2 As PowerPoint.Shape
     
     
     
        'Valeur variable
       Var288 = Range("B2")
     
        'Path source et destination
       Dim strPresPath As String, strExcelFilePath As String, strNewPresPath As String
        strPresPath = "D:\Users\Damien\Desktop\Présentation1222.pptx"
        strNewPresPath = "D:\Users\Damien\Desktop\" & Var288 & ".pptx"
     
        'Titre1
       Set oPPTApp = CreateObject("PowerPoint.Application")
        oPPTApp.Visible = msoTrue
        Set oPPTFile = oPPTApp.Presentations.Open(strPresPath)
        SlideNum = 1
        oPPTFile.Slides(SlideNum).Select
        Set oPPTShape = oPPTFile.Slides(SlideNum).Shapes("Titre1")
     
        Sheets("Feuil1").Activate
        With oPPTShape.TextFrame.TextRange
        .Text = Range("B2")
     
        End With
     
        'Libellé
       SlideNum = 1
        oPPTFile.Slides(SlideNum).Select
        Set oPPTShape2 = oPPTFile.Slides(SlideNum).Shapes("Libellé")
     
        Sheets("Feuil1").Activate
        With oPPTShape2.TextFrame.TextRange
        .Text = "Libellé : " & vbNewLine & "" & Range("D5") & ""
     
     
     
        End With
     
        oPPTFile.SaveAs strNewPresPath
        oPPTFile.Close
        oPPTApp.Quit
     
        Set oPPTShape = Nothing
        Set oPPTFile = Nothing
        Set oPPTApp = Nothing
     
        MsgBox "Diapo n° créée ", vbOKOnly + vbInformation
        Unload Me
    End Sub

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/09/2014, 01h03
  2. Réponses: 13
    Dernier message: 03/09/2013, 13h31
  3. [XL-2003] Remplir un tableau avec les noms des cellules
    Par tioch dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/08/2011, 18h24
  4. [FPDF] Comment centrer le contenu des cellules d'un tableau généré avec FPDF ?
    Par hacksi dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 07/02/2008, 15h38
  5. [JTable]Aligner le contenu des cellules
    Par )3lade dans le forum Composants
    Réponses: 2
    Dernier message: 09/03/2004, 13h24

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