3 Replies Latest reply: Apr 26, 2017 2:30 AM by Sabrina Groupama RSS

    Envoyer un tableau vers Excel via VBA ?

    Sabrina Groupama

      Bonjour à tous,

       

      J'ai besoin d'exporter un tableau de données, généré par QlikView sous Excel.

      Ce tableau ne sera pas visible sur l'outil par les utilisateurs (Il est créé dans un onglet "XX", caché pour les utilisateurs) : en raison du grand nombre de colonnes présente, l'esthétisme de l'outil est déformé.

       

      Mon souhait est de créer un bouton dans l'onglet "AA" qui me permet de réaliser la même opération que le "Envoyer vers Excel" d'un quelconque objet. Ils n'auront donc qu'un bouton à cliquer pour générer le fichier Excel.

       

      Dois-je créer une macro VBA qui exporte les données du tableau dans un nouveau classeur Excel ? (J'ai peur que l'export ne conserve pas les formats de données (suppression des zéros devant les nombres...)).

      Ou existe t-il une astuce sous Qlik pour lier le "Envoyer vers Excel" à un bouton ?

       

      Je vous remercie par avance

        • Re: Envoyer un tableau vers Excel via VBA ?
          Sébastien Fatoux

          Voici une macro qui fera le job.

           

          Marche à suivre:

          • CTRL + M pour ouvrir l'éditeur de macro
          • Copier la macro suivante:

           

          • Sub SendToExcel()     'Récupère le paramètre
                 set p1 = ActiveDocument.Variables("pSendToExcel_Id")

                 set obj = ActiveDocument.GetSheetObject(trim(p1.getContent.String))
                 obj.SendToExcel
            End
            Sub
          • Cliquez sur "Vérifier", puis sur "OK"
          • Créer une variable (CTRL + ALT + V) que vous allez appeler : pSendToExcel_Id
          • Créer un bouton
          • Ajouter les actions suivantes :
            • Cliquez Ajouter --> Externe  --> Définir la variable  --> OK
              • Variable :  pSendToExcel_Id        Valeur :  CHxx    (l'id de votre tableau) 
            • Cliquez Ajouter --> Externe  --> exécuter une macro  --> OK
            • Nom de la macro:  SendToExcel
            • -> OK 

           

          Si vous cliquez sur le bouton, Excel devrait s'ouvrir avec les données tu tableau caché

          • Re: Envoyer un tableau vers Excel via VBA ?
            Sabrina Groupama

            Bonjour,

             

            Je me permets de relancer ce sujet : la macro d'export de tableau fonctionne à merveille.

             

            Cependant, j'ai remarqué qu'au premier export suite à l'ouverture du Qlik, ma fenêtre de module (où se trouve mon code) s'ouvre également.

             

            Existe-il un moyen de bloquer cela ?