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 :

Piloter powerpoint 365 depuis excel 365 sur Mac High Sierra


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Mars 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2018
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Piloter powerpoint 365 depuis excel 365 sur Mac High Sierra
    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

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Dans VBE > Outils > Références.

    Tu dois avoir de coché une bibliothèque "Manquante", sans doute quelque chose comme "Microsoft Office XXX Object Library" correspondant à ta précédente version de PowerPoint.
    Décoche-là et coche celle correspondant à ta nouvelle version.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Mars 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2018
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Merci Menhir pour ta réponse.
    Cependant, les bibliothèques sont bien cochées et apparemment non manquante, elles sont les même sous Excel et Powerpoint.

    Nom : Capture d’écran 2018-03-22 à 14.58.13.png
Affichages : 478
Taille : 45,5 Ko

    La seule choses qui diffère entre Excel et Powerpoint sont les priorités (sur Excel, la bibliothéque Excel et avant Powerpoint et réciproquement).
    La priorité est impossible à changer : sur Excel, la bibliothèque d'objet Excel est toujours prioritaire.
    Je soupçonne que sur Mac, avec la gestion sandbox, Excel ne peut pas utiliser des bibliothèques extérieurs sans autorisations, mais comment en être sûr et résoudre le problème ?

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut

    Citation Envoyé par seb-aemc Voir le message
    [...]Je soupçonne que sur Mac, avec la gestion sandbox, Excel ne peut pas utiliser des bibliothèques extérieurs sans autorisations, mais comment en être sûr et résoudre le problème ?
    Je ne suis pas fan de Mac, donc je n'ai pas de support de test. Cependant, tu pourrais tester un classeur vide et tenter de piloter Word en cochant la librairie Word, histoire de voir si ça peut être une question d'autorisation.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Mars 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2018
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci Pierre pour la piste que tu m'as donné.

    Effectivement, depuis word 365 je peux piloter word 365 via VBA.
    Mais je n'y pas arrivé sur excel 365

    Voici le code qui fonctionne sur word et pas sur Excel

    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
    Sub compterNombrePagesDocWord()
     
        Dim wrdApp As Word.Application
        Set wrdApp = Word.Application
     
        Dim wrdDoc As Word.Document
        Set wrdDoc = wrdApp.Documents.Open(FileName:="/Users/portablesebastien/Documents/compensation offset.docx")
     
        Dim nbPage As Byte
     
        wrdDoc.Bookmarks("\endofdoc").Select
        nbPage = wrdDoc.BuiltInDocumentProperties("Nombre de pages")
        MsgBox "Il y a " & nbPage & " page(s) dans le document Word : " & Chr(10) & Ouvrir
     
    End Sub
    J'ai donc le même problème pour piloter word que powerpoint.

    Je ne sais toujours pas comment résoudre ce problème.

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Jeter le Mac à la poubelle?

    Plus sérieusement, cela signifie que le problème vient probablement du Mac (sécurité ou autre, je n'en sais rien).

    Je n'y crois pas trop, mais une solution serait peut-être de travailler en late binding. Cela veut dire que tu déclares tes objets Word ou PPT en tant que Object puis que tu crées l'instance. Mais je le répète, je n'y crois pas trop.

    Cela dit, ça m'étonnerait qu'il n'y ait pas moyen de piloter word ou powerpoint à partir d'Excel sur du Mac. Ce n'est quand même pas si inhabituel de fonctionner ainsi. (Mais ça me conforte dans l'idée que Mac, c'est le mal )
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour,

    juste pour confirmer les nombreux soucis rencontrés par les utilisateurs de MAC sous la version 2016,
    beaucoup étant obligés de retourner sur la version 2011 …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  8. #8
    Candidat au Club
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Mars 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2018
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Le code ci-dessous fonctionne

    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 piloterPowerPoint2()
     
        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 Object
        Set Ppa = CreateObject("PowerPoint.Application")
        Dim Ppp1 As Object
        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
    Cependant, je n'ai pas accès aux contenus des objets par des variables espions (Cf image : point d’arrêt sur la dernière ligne)

    Nom : Capture d’écran 2018-03-23 à 14.18.11.png
Affichages : 411
Taille : 26,1 Ko

    En espérant que les objets non pas trop changé depuis la version 2011 je devrais m'en sortir.

    Merci

  9. #9
    Candidat au Club
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Mars 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2018
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Marc-L Voir le message
    Bonjour,

    juste pour confirmer les nombreux soucis rencontrés par les utilisateurs de MAC sous la version 2016,
    beaucoup étant obligés de retourner sur la version 2011 …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    Malheureusement la version 2011 n'est plus compatible avec les nouveaux Mac et Office 2011 n'est plus supporté par Microsoft.

  10. #10
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Et je compatis alors pour les utilisateurs MAC et je comprends donc mieux l'engouement
    pour les solutions gratuites comme Libre Office !

    Et le pourquoi d'une émulation Windows sur MAC rien que pour Office …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

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

Discussions similaires

  1. [XL-2010] Piloter une fenêtre depuis Excel en VBA
    Par Mr_Exal dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/06/2012, 23h07
  2. [XL-2010] IE depuis Excel, clique sur element web.
    Par modenofx dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/09/2011, 19h35
  3. Excel 2004 sur Mac
    Par romu92 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/07/2009, 11h15
  4. Supprimer un tableau Powerpoint (PPT) depuis Excel VBA
    Par pontoise dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/03/2008, 19h01
  5. piloter Internet Explorer depuis excel
    Par biggione dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/08/2006, 15h36

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