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

Excel Discussion :

Bouton Excel inaccessible depuis autre application


Sujet :

Excel

  1. #1
    Membre averti
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Points : 314
    Points
    314
    Par défaut Bouton Excel inaccessible depuis autre application
    Bonjour,
    Je poste ce sujet en parallèle du forum SAP.
    En effet dans le logiciel ERP SAP les query peuvent être affichés en mode Excel intégré.
    Or depuis la version Excel 2010 la prévisualisation des documents n'est pas accessible.

    SAP dit que c'est le changement côté microsoft.
    quelqu'un aurait-il une idée de ce qu'on pourrait faire dans les options Excel ?

    Voilà ce que dit SAP en substance:

    987993 - OFFI:Menu items are disabled when document opened inplace
    Symptom
    Some menu items like (Print Preview, Page break etc) are disabled when Word or excel document is opened inplace
    Other Terms
    Print Preview, Page break, Menu item Disabled, Inplace, Office Integration
    Reason and Prerequisites
    As per limitation from Microsoft if document is opened inplace some menu items will be disabled.
    To check behaviour of microsoft when excel opened inplace do fillowing step : Open Word document, Go to Menu, "Insert"->"Object"->In list select "Microsoft Excel Worksheet" click ok.
    Now one can observe "Print Preview" menu item is disabled. Also one can observe so many other menu items are also disabled like "Normal View", "Page break" etc.
    To check behaviour of microsoft when word opened inplace, open Excel and insert MS Word object.
    Same limitation is applied for documents which are opened through Office Integration also, since Office integration uses same OLE technology which is used by Microsoft.
    Solution
    Open document as outplace.
    Quelqu'un aurait-il confronté à ce problème avec d'autres applicatifs?

    Merci
    Denis

  2. #2
    Membre averti
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Points : 314
    Points
    314
    Par défaut
    J'ai essayé de créer un macro personnelle avec la séquence.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ActiveSheet.PrintPreview
    Mais j'ai une erreur 1004
    La methode PrintPreview de la classe Worksheet a échoué.
    comment connaitre le nom de la feuille dont je veux afficher l'aperçu ?

    Denis

  3. #3
    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
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print ActiveSheet.Name
    Juste pour voir si ton problème ne serait pas simplement qu'il n'y a pas de Worksheet active au moment où tu lance ta macro.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Membre averti
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Points : 314
    Points
    314
    Par défaut
    Bien vu !

    Je rappelle que je suis dans un mode où la feuille excel est générée dans l'environnement de l'ERP SAP.

    Donc si mon Excel est ouvert sur un autre classeur au moment où mon classeur SAP/Excel est généré c'est la feuille l'autre (vrai) classeur qui est active.

    J'ai refait la manip en ayant fermé Excel.

    Dans ce cas, après que le classeur SAP/Excel est généré il n'y effectivement pas de feuille active.

    Donc comment activer la feuille que je souhaite ?

  5. #5
    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,

    il est inutile de l'activer, juste la désigner en respectant la hiérarchie Classeur / Feuille

    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)

  6. #6
    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
    Citation Envoyé par Denis_67 Voir le message
    Donc si mon Excel est ouvert sur un autre classeur au moment où mon classeur SAP/Excel est généré c'est la feuille l'autre (vrai) classeur qui est active.

    J'ai refait la manip en ayant fermé Excel.

    Dans ce cas, après que le classeur SAP/Excel est généré il n'y effectivement pas de feuille active.

    Donc comment activer la feuille que je souhaite ?
    Je n'ai pas tout compris dans ton explication mais si Excel est fermé, tu ne pourras pas accéder à ton classeur Excel.
    Il faut que Excel soit actif (éventuellement invisible) et le classeur ouvert pour pouvoir accéder aux données qu'il contient.

    Comme le disais Marc, tu peux accéder à une feuille sans l'activer (c'est même conseillé de ne pas utiliser l'activation qui ralentit l'exécution) avec la syntaxe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("MonClasseur").Worksheets("MaFeuille")
    à la place de ActiveSheet.

    Si la macro est envoyée à partir d'une autre application, il faut aussi préciser qu'il s'agit d'un objet Excel.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  7. #7
    Membre averti
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Points : 314
    Points
    314
    Par défaut
    On avance !!!

    Bon grâce aux explications à ma portée de Menhir, j'ai modifié la macro comme suit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Excel.Application.Workbooks("Feuille de calcul dans ALV (1).xls").Worksheets("Pivot").PrintPreview
    Par contre si la fenêtre de prévisualisation s'affiche bien quelque part, toutes mes application sont bloquées
    Si je clique sur basculer vers
    apparait la prévisusation comme si elle appartenait au classeur1 (en fait le classeur par défaut qui a du se créer lors de l'appel de Excel peuis SAP)

    Dans le Classeur généré il y a un module mais je ne comprend pas ce que ça fait (ouverture d'une DLL particulière ?)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Public Sub LoadDLL()
    On Error GoTo Ende
    Dim LoadDLL As Variant
    Set LoadDLL = CreateObject("SAPALVStub.SAPALVMerge")
    Application.ActiveWorkbook.Container.ReturnValue = LoadDLL
    LoadDLL.Doc = ActiveWorkbook
    Ende:
    End Sub
    En fait je pense que je passe une commande vers "le Excel" appelé depuis mon application mais que je perds la main
    Nom : 2014-10-16 12_07_46-Document1 - Microsoft Word.png
Affichages : 981
Taille : 136,2 Ko

    Merci
    Denis

Discussions similaires

  1. [XL-2010] Passage d'excel vers une autre application
    Par SSelim dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/10/2012, 09h50
  2. [Toutes versions] Comment charger des données d'Excel vers une autre application
    Par orafin dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/11/2009, 21h20
  3. ouvrir formulaire depuis autre application Access
    Par BRUNO71 dans le forum VBA Access
    Réponses: 1
    Dernier message: 27/06/2008, 11h29
  4. Classeurs excell inaccessibles depuis Access
    Par Geache dans le forum Access
    Réponses: 1
    Dernier message: 04/06/2008, 09h27
  5. Réponses: 1
    Dernier message: 02/02/2006, 14h26

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