N
nico125
Guest
Bonjour,
Je suis en train de développer une macros qui permettrait de fusionner un document Excel en PPT et de mettre à jour ce dernier.
Pour l'instant, je peux fusionner les informations vers les diapositives; seulement si le lien se situe dans une zone de texte. Or, je recherche à le mettre dans un tableau.
Pourriez-vous indiquer la démarche a suite s'il vous plait? Le document est attaché en pièce jointe.
Serait-il aussi possible de trouver une moyen de mettre à jour les diapositives (Sans devoir utiliser la fusion) et en ajouter si je mets d'autres informations dans le document Excel?
Je vous remercie d’avance pour votre aide
Ps: Voici le code actuellement utilisé:
Sub PPT()
Dim shtnote As Worksheet
Dim strnom As String
Dim strnote As String
Dim lngRow As Long
Dim objPPT As Object
Dim objPres As Object
Dim objSld As Object
Dim objShp As Object
Set shtnote = Worksheets("sheet1")
Set objPPT = CreateObject("Powerpoint.Application")
objPPT.Visible = True
Set objPres = objPPT.presentations.Open(ThisWorkbook.Path & "\note.ppt")
objPres.SaveAs ThisWorkbook.Path & "\test.ppt"
lngRow = 2
Do While shtnote.Cells(lngRow, 1) <> ""
strnom = shtnote.Cells(lngRow, 1)
strnote = shtnote.Cells(lngRow, 2)
Set objSld = objPres.slides(1).Duplicate
For Each objShp In objSld.Shapes
If objShp.HasTextFrame Then
If objShp.TextFrame.HasText Then
objShp.TextFrame.TextRange.Replace "<nom>", strnom
objShp.TextFrame.TextRange.Replace "<note>", strnote
End If
End If
Next
lngRow = lngRow + 1
Loop
objPres.slides(1).Delete
objPres.Save
objPres.Close
End Sub
Je suis en train de développer une macros qui permettrait de fusionner un document Excel en PPT et de mettre à jour ce dernier.
Pour l'instant, je peux fusionner les informations vers les diapositives; seulement si le lien se situe dans une zone de texte. Or, je recherche à le mettre dans un tableau.
Pourriez-vous indiquer la démarche a suite s'il vous plait? Le document est attaché en pièce jointe.
Serait-il aussi possible de trouver une moyen de mettre à jour les diapositives (Sans devoir utiliser la fusion) et en ajouter si je mets d'autres informations dans le document Excel?
Je vous remercie d’avance pour votre aide
Ps: Voici le code actuellement utilisé:
Sub PPT()
Dim shtnote As Worksheet
Dim strnom As String
Dim strnote As String
Dim lngRow As Long
Dim objPPT As Object
Dim objPres As Object
Dim objSld As Object
Dim objShp As Object
Set shtnote = Worksheets("sheet1")
Set objPPT = CreateObject("Powerpoint.Application")
objPPT.Visible = True
Set objPres = objPPT.presentations.Open(ThisWorkbook.Path & "\note.ppt")
objPres.SaveAs ThisWorkbook.Path & "\test.ppt"
lngRow = 2
Do While shtnote.Cells(lngRow, 1) <> ""
strnom = shtnote.Cells(lngRow, 1)
strnote = shtnote.Cells(lngRow, 2)
Set objSld = objPres.slides(1).Duplicate
For Each objShp In objSld.Shapes
If objShp.HasTextFrame Then
If objShp.TextFrame.HasText Then
objShp.TextFrame.TextRange.Replace "<nom>", strnom
objShp.TextFrame.TextRange.Replace "<note>", strnote
End If
End If
Next
lngRow = lngRow + 1
Loop
objPres.slides(1).Delete
objPres.Save
objPres.Close
End Sub