[VBA] - Exporter des données d'Excel vers un PowerPoint

Bonjour à tous,

Je vous sollicite car j'aimerais automatiser une tâche réccurente avec une macro.

Toutes les semaines, j'aimerais mettre en forme sous forme de matrice 3x3, les composants sensibles de ma société.

Pour ce faire, j'ai d'abord un tableau Excel dans lequel j'ai tous mes composants et en face desquels j'attribue une note au regard de 2 critères : le Rex FNC et le Rex SAV.

Pour le moment je gère ce tableau manuellement et j'espère bien l'automatiser à l'avenir.

Mon souci : Pour présenter ce classement, j'ai pour habitude de classer les composants sous forme matricielle 3x3.

Ainsi, j'ai en abcisse mon Rex SAV avec des notes allant de 1 à 3 et en ordonnée mon Rex FNC allant de 1 à 3 également.

En fonction des notes attribuées sous mon tableur Excel, j'aimerais que les composants viennent automatiquement s'incrémenter dans mon support PowerPoint.

Donc en fonction de leurs notes, les composants doivent aller s'enregistrer dans des cases de ma matrice PowerPoint.

Est-ce possible ?

Voici le début de code que j'ai commencé à rédiger sans succès :

Sub Test()

    'nécessite d'activer la référence Microsoft Powerpoint Object Library
     Dim PPT As PowerPoint.Application
     Dim PptDoc As PowerPoint.Presentation
     'Dim NbShpe As Byte

     Dim i As Integer

     Set PPT = CreateObject("Powerpoint.Application")
     PPT.Visible = True 'l'application sera visible
     Set PptDoc = PPT.Presentations.Open("V:\VERSION_TEST_Matrice_composants_critiques_2014.pptx")
     Set Wbs = Workbooks("VERSION_TEST_Liste_des_composants_critiques_v2.xlsm").Worksheets("COMPO CRITIQ")

  With Wbs

        For i = 4 To 58

            'Si la note FNC est égale à 1 (colonne K) et que la note Rex SAV égale à 3
            If .Range("J" & i).Value = 1 And .Range("K" & i).Value = 3 Then
            Range("B" & i).Copy
            PptDoc.Slides(3).Shapes.PasteSpecial

'K = 3  & J = 2
            ElseIf .Range("J" & i).Value = 2 And .Range("K" & i).Value = 3 Then
            Range("B" & i).Copy
            PptDoc.Slides(3).Shapes.PasteSpecial

'K = 3  & J = 3
            ElseIf .Range("J" & i).Value = 3 And .Range("K" & i).Value = 3 Then
            Range("B" & i).Copy
            PptDoc.Slides(3).Shapes.PasteSpecial

'K = 2  & J = 1
            ElseIf .Range("J" & i).Value = 1 And .Range("K" & i).Value = 2 Then
            Range("B" & i).Copy
            PptDoc.Slides(3).Shapes.PasteSpecial

'K = 2  & J = 2
            ElseIf .Range("J" & i).Value = 2 And .Range("K" & i).Value = 2 Then
            Range("B" & i).Copy
            PptDoc.Slides(3).Shapes.PasteSpecial

'K = 2  & J = 3
            ElseIf .Range("J" & i).Value = 2 And .Range("K" & i).Value = 3 Then
            Range("B" & i).Copy
            PptDoc.Slides(3).Shapes.PasteSpecial

'K = 1  & J = 1
            ElseIf .Range("J" & i).Value = 1 And .Range("K" & i).Value = 1 Then
            Range("B" & i).Copy
            PptDoc.Slides(3).Shapes.PasteSpecial

'K = 1  & J = 2
            ElseIf .Range("J" & i).Value = 1 And .Range("K" & i).Value = 2 Then
            Range("B" & i).Copy
            PptDoc.Slides(3).Shapes.PasteSpecial

'K = 1  & J = 3
            ElseIf .Range("J" & i).Value = 1 And .Range("K" & i).Value = 3 Then
            Range("B" & i).Copy
            PptDoc.Slides(3).Shapes.PasteSpecial

            End If

        Next i

            PptDoc.Save 'sauvegarder les modifications
            PptDoc.Close 'fermer le document ppt
            PPT.Quit 'fermer l'application powerPoint

End Sub

En PJ, vous trouverez le tableur Excel où j'ai placé ma macro et le support PowerPoint que je souhaite alimenter ...

Cerise sur le gâteau, j'aimerais avant de fermer le PowerPoint, l'enregistrer avec dans le nom la date du jour/mois/année où j'ai réalisé ma macro.

Encore plus fort, est-ce qu'on peut faire un enregistrement automatique semaine par semaine, genre tous les lundis ?

Est ce possible ? "Facile" me diront les experts !

Merci de votre aide !

Je suis également preneur de tous liens renvoyant vers un support de formation aux basiques de PowerPoint en VBA !

Bon aprèm,

Floo73

Bonjour,

Ce que tu demandes est possible ...

Cependant tu devrais te faciliter la vie en préparant dans Excel le format complet de ta slide Powerpoint ...

Pour ce que concerne la sauvegarde dans Powerpoint, les instructions VBA sont les mêmes que pour Excel ...

Bon Courage

Rechercher des sujets similaires à "vba exporter donnees powerpoint"