Bonjour à tous,

J'espère avoir posté ma demande dans la bonne rubrique.

Je suis formateur et dans ce cadre nous faisons des supports de cours dédiés en powerpoint.
j'ai crée, il y a quelques années, un programme VBA qui permet de générer des présentations powerpoint depuis excel : (ajouts des diapos suivant une liste, création de sommaire, de chapitre...)
Avec ce programme, la création d'une présentation de 300 pages se fait en 5 minutes aux lieux de 4 h à la main auparavant (les secrétaires m'ont remercié :-) )

Le programme fonctionnait très bien sous office 2011 pour mac, depuis l'achat de nouvelles machines Mac (high sierra 10.13), nous avons été forcés de changer de version office : 365 actuellement.
Le programme VBA ne fonctionne plus !!!
Par différentes recherches, j'ai pu gérer les problèmes d'autorisations d'accès de la gestion "sandbox" du Mac ainsi que les chemins d'accès des fichiers qui ont changé de format (merci aux sites de Ron de Bruin).

Depuis excel 365, je peux ouvrir des présentations mais je n'ai plus accès aux objets de powerpoint (slides, textbox...), et cela alors que les références des librairies soient bien cochées.
Avec des variables espions, je vois que tout est vide (aucune variable).

Le même code sous powerpoint 365 ne génère pas de dysfonctionnement et j'ai bien accès aux objet des présentations.

Je soupçonne qu'excel n'a pas les autorisations du Mac pour accéder aux librairies de powerpoint ?

Quelqu'un a t'il eu le problème ? et comment le résoudre ?

Pour info, voici un bout de code qui fonctionne sous powerpoint 365 mais pas sous excel 365

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
Sub piloterPowerPoint()
 
    Dim CheminFichier(0) As String
    Dim Nbslide As Integer
    CheminFichier(0) = "/Users/portablesebastien/desktop/Trans PP 2011/modèles/Titre.pptx"
 
    Dim fileAccessGranted As Boolean
    Dim filePermissionCandidates
    filePermissionCandidates = CheminFichier
    fileAccessGranted = GrantAccessToMultipleFiles(filePermissionCandidates)
 
    Dim Ppa As PowerPoint.Application
    Set Ppa = New PowerPoint.Application
    Dim Ppp1 As PowerPoint.Presentation
    Set Ppp1 = Ppa.Presentations.Open(FileName:=CheminFichier(0))
    Nbslide = Ppp1.Slides.Count
    Dim Sld As Slide
    Set Sld = Ppp1.Slides(1)
    Sld.Copy
    Ppp1.Slides.Paste 2
 
 End Sub
Merci de votre aide