Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

export excel selection active

Bonjour;

Comment exporter plusieurs chart à un seul classeur excel avec la sélection active ?

D'avance je vous remercie .

Bonne journée .

Cordialement;

6 Replies
yvesqlik
Partner - Contributor III
Partner - Contributor III

Bonjour,

pourrais tu clarifier ta question stp!

cordialement,

Yves

Not applicable
Author

Ah ! j'ai plusieurs  graphique à exporter sur des feuille excel mais j'aimerai exporter avec la sélection active dans chaque feuille !

j'ai pu exporter les graphique à chaque feuille d excel mais sans la selection active !

Not applicable
Author

Paramètres -> Préférences utilisateur -> Exportation de sélection actives -> Exportation BIFF.

Not applicable
Author

Au fait je parlais de l'export par macro !

Judikael : avec la macro , même en cochant cette propriété ça ne fonctionne pas !

Merci

Cordialement;

lotfiblo
Creator
Creator

Bonjour,

essaies cette macro. Elle permet d'exporter les selections actives en "Image" et les tableaux en valeurs

Regarde l'exemple joint.

Lotfi

www.qlikdiscovery.fr

Use Qalyptus for your Qlik Sense on-premise and Qlik Sense SaaS Reporting
Connect with me on Linkedin
Not applicable
Author

Bonjour Lotfi ;

Merci pour ta pièce jointe et ton lien également !

Ta méthode est utile aussi dans certains cas , depuis j'ai pu trouver une réponse qui répond au mieux au besoin, je te laisse voir la pièce jointe ( en terme de présentation je préfère utiliser celle ci .

Ta méthode est intéressante mais compliquer pour la mètre en oeuvre dans mon cas( parce que il faudra que je récupère tous les chart de type pivot table ou table simple des différent onglets de qvw et d'exporter ces derniers dans un classeur excel avec les sélections active.

voici le corp de la macro que j'ai utiliser , tu peux la copier coller ds l'éditeur de la macro :

sub ExportExcel

Set XLApp = CreateObject("Excel.Application")

XLApp.Visible =  true

Set XLDoc = XLApp.Workbooks.Add

For t = 1 To ActiveDocument.NoOfSheets-1

     Set MySheet = ActiveDocument.GetSheet(t)

     MySheet.Activate

     MyCharts = MySheet.GetSheetObjects

     NameSheet = ActiveDocument.ActiveSheet.GetProperties.Name

 

 

   NameSheetValue = activedocument.Evaluate(NameSheet)

vname = trim(left( NameSheetValue, 31))

  ' msgbox NameSheetValue

    msgbox  vname

   

   

     For X =lbound(MyCharts) to ubound(MyCharts)

    

        Set CurrentSelectionID = ActiveDocument.GetSheetObject(MyCharts(X).GetObjectId)

        set Prop = CurrentSelectionID.GetProperties

       

      if CurrentSelectionID.GetObjectType = 7 then

       c=inStr(CurrentSelectionID.GetObjectId,"\")

       CurrentSelectionIDD = right(CurrentSelectionID.GetObjectId,len(CurrentSelectionID.GetObjectId)-c)

    

     end if

      next

'    

     set table = ActiveDocument.GetSheetObject( CurrentSelectionIDD )

'for RowIter = 0 to table.GetRowCount-1

'    for ColIter =0 to table.GetColumnCount-1

'        set cell = table.GetCell(RowIter,ColIter)

'        msgbox(cell.Text)

'    next

'next

'

nbrligneCurrentSelection = table.GetRowCount

Set v = ActiveDocument.Variables("vCurrentSelection")

Selection=v.GetContent.String

     msgbox Selection

    

     For X =lbound(MyCharts) to ubound(MyCharts)

        Set obj = ActiveDocument.GetSheetObject(MyCharts(X).GetObjectId)

        set Prop = obj.GetProperties

       

         IF Obj.GetObjectType = 10 or Obj.GetObjectType = 11 Then

         taille = Obj.GetRowCount

         'msgbox taille

               p=inStr(obj.GetObjectId,"\")

               wsname = right(obj.GetObjectId,len(obj.GetObjectId)-p)

    captiontext = obj.GetCaption.Name.v

    'msgbox captiontext

               '  wsname = left(obj.getProperties.ChartProperties.Title.Title.v,30)                

                XLDOC.Worksheets.Add().Name = vname

                                 XLDoc.Sheets(vname).activate

                                 'XLDoc.Sheets(vname).ActiveWindow.DisplayGridlines = False 'quadrillage

                                 XLDoc.Sheets(vname).Select

                                 XLApp.ActiveWindow.DisplayGridlines = False

                                 XLDoc.Sheets(vname).Columns("A").ColumnWidth  = 60

                                 XLDoc.Sheets(vname).Range("A1")=captiontext

                

    XLDoc.Sheets(vname).Range("A3") = Selection

                                          XLDoc.Sheets(vname).Range("B"& 4).Select

'                         

                                         obj.CopyTableToClipboard true

                                         XLDoc.Sheets(vname).Paste()

                                     ' ActiveDocument.GetApplication.WaitForIdle

        End if

     Next

Next

end sub

Bonne journée et merci bien pour tes retours !

Cordialement;

Manal