<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Blogs - PhunkyBob</title>
		<link>https://www.developpez.net/forums/blogs/119441-phunkybob/</link>
		<description>Developpez.com, le Club des Développeurs et IT Pro</description>
		<language>fr</language>
		<lastBuildDate>Tue, 14 Apr 2026 14:06:29 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.jpg</url>
			<title>Forum du club des développeurs et IT Pro - Blogs - PhunkyBob</title>
			<link>https://www.developpez.net/forums/blogs/119441-phunkybob/</link>
		</image>
		<item>
			<title>Exporter son projet Qlik dans des fichiers textes</title>
			<link>https://www.developpez.net/forums/blogs/119441-phunkybob/b10405/exporter-projet-qlik-fichiers-textes/</link>
			<pubDate>Tue, 29 Nov 2022 09:49:38 GMT</pubDate>
			<description>Bonjour, 
 
Voici une astuce...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Bonjour,<br />
<br />
Voici une astuce assez méconnue de Qlik : <br />
<br />
Créez un répertoire qui a le même nom que votre application, suivi de &quot;-prj&quot;.<br />
Par exemple, si votre application s'appelle &quot;Mon_application.qvw&quot;, créez au même niveau un répertoire &quot;Mon_application-prj&quot;. <br />
Quand vous enregistrerez votre application (Ctrl+S), tout votre projet sera enregistré dans ce répertoire <b>objet par objet</b>. <br />
Vous trouverez ainsi votre fichier de script au format texte, mais aussi autant de fichiers que vous avez d'objets au format XML. <br />
<br />
Idéal si vous utilisez un gestionnaire de version type &quot;Git&quot;, pour identifier facilement les changements effectués d'une version à l'autre de l'application.</blockquote>

]]></content:encoded>
			<dc:creator>PhunkyBob</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/119441-phunkybob/b10405/exporter-projet-qlik-fichiers-textes/</guid>
		</item>
		<item>
			<title><![CDATA[[QV] Récupérer le nom des onglets présents dans un fichier Excel]]></title>
			<link>https://www.developpez.net/forums/blogs/119441-phunkybob/b6138/qv-recuperer-nom-onglets-presents-fichier-excel/</link>
			<pubDate>Wed, 12 Sep 2018 07:27:31 GMT</pubDate>
			<description>Il est très simple de lire...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Il est très simple de lire des données d'un fichier Excel avec QlikView...<br />
... à partir du moment où on connait le nom de l'onglet dans lequel on veut lire les données.<br />
<br />
Dans certains cas, il peut arriver qu'on ne connaisse pas à l'avance le nombre ni le nom des onglets présents dans un fichier.<br />
<br />
<br />
Voici une méthode qui permet de récupérer le nom des différents onglets d'un fichier Excel et de charger les données :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br /></div></td><td valign="top"><pre style="margin: 0">ODBC CONNECT TO [Excel Files;DBQ=ExcelFile.xlsx];
 
XlsTables:
SQLTables;
 
DISCONNECT;
 
LET vRows = NoOfRows('XlsTables');
 
FOR i = 0 TO $(vRows)-1
    LET vSheetName = subfield(peek('TABLE_NAME', i,'XlsTables'),'$',1);
 
    $(vSheetName):
    LOAD
        *
    FROM [ExcelFile.xlsx]
    (ooxml, embedded labels, table is '$(sheetName)');
NEXT i
 
DROP TABLE XlsTables;</pre></td></tr></table></pre>
</div></blockquote>

]]></content:encoded>
			<dc:creator>PhunkyBob</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/119441-phunkybob/b6138/qv-recuperer-nom-onglets-presents-fichier-excel/</guid>
		</item>
		<item>
			<title><![CDATA[Boucler sur les sous-répertoires d'un répertoire]]></title>
			<link>https://www.developpez.net/forums/blogs/119441-phunkybob/b3246/boucler-sous-repertoires-d-repertoire/</link>
			<pubDate>Thu, 15 Jun 2017 09:18:36 GMT</pubDate>
			<description>Vous pouvez boucler sur tous...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Vous pouvez boucler sur tous les sous-répertoire d'un répertoire pour connaitre leur contenu.<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td valign="top"><pre style="margin: 0">// Liste de tous les fichiers QV sur le disque.
sub DoDir (Root)
    for each Ext in 'qvw', 'qva', 'qvo', 'qvs'
        for each File in filelist (Root &amp; '\*.' &amp; Ext)
            Load '$(File)' as Name, FileSize( '$(File)' ) as Size, FileTime( '$(File)' ) as FileTime
            autogenerate 1;
        next File
    next Ext
 
    for each Dir in dirlist (Root&amp;' \*' )
        call DoDir (Dir)
    next Dir
end sub
 
 
call DoDir ('C:')</pre></td></tr></table></pre>
</div></blockquote>

]]></content:encoded>
			<dc:creator>PhunkyBob</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/119441-phunkybob/b3246/boucler-sous-repertoires-d-repertoire/</guid>
		</item>
		<item>
			<title><![CDATA[Exporter toutes les feuilles d'un document QlikView dans des images]]></title>
			<link>https://www.developpez.net/forums/blogs/119441-phunkybob/b1699/exporter-toutes-feuilles-d-document-qlikview-images/</link>
			<pubDate>Sat, 29 Oct 2016 07:13:13 GMT</pubDate>
			<description>---Citation (Envoyé par...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><div class="bbcode_container">
	<div class="bbcode_quote">
		<div class="quote_container">
			<div class="bbcode_quote_container"></div>
			
				<div class="bbcode_postedby">
					<img src="https://forum.developpez.be/images/misc/quote_icon.png" alt="Citation" /> Envoyé par <strong>PhunkyBob</strong>
					<a href="showthread.php?p=8781761#post8781761" rel="nofollow"><img class="inlineimg" src="https://forum.developpez.be/images/buttons/viewpost-right.png" alt="Voir le message" /></a>
				</div>
				<div class="message">Bonjour,<br />
<br />
Personnellement, je trouve les rapports dans QlikView particulièrement pas pratique.<br />
<br />
Je préfère largement passer par une macro qui fera l'export dont j'ai besoin.<br />
<br />
Par exemple :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code vb :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">sub</span> export_all
&nbsp;
	<span style="color: #0000ff;">for</span> i = <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">to</span> ActiveDocument.NoOfSheets - <span style="color: #cc66cc;">1</span>
		<span style="color: #0000ff;">set</span> sh = ActiveDocument.GetSheet<span class="br0">&#40;</span>i<span class="br0">&#41;</span>
		shID = sh.GetProperties.SheetId
		shName = str_clean<span class="br0">&#40;</span>sh.GetProperties.Name<span class="br0">&#41;</span>
&nbsp;
		<span style="color: #808080;">'msgbox(shId &amp; &quot; - &quot; &amp; shName)</span>
&nbsp;
		ActiveDocument.Sheets<span class="br0">&#40;</span>shId<span class="br0">&#41;</span>.Activate
		ActiveDocument.GetApplication.WaitForIdle
&nbsp;
		<span style="color: #808080;">'msgbox &quot;C:\temp\&quot; &amp; i &amp; &quot;. &quot; &amp; shName &amp; &quot;.bmp&quot;</span>
		ActiveDocument.Sheets<span class="br0">&#40;</span>shId<span class="br0">&#41;</span>.ExportBitmapToFile <span style="color: #FF0000;">&quot;C:\temp\&quot;</span> &amp; i &amp; <span style="color: #FF0000;">&quot;. &quot;</span> &amp; shName &amp; <span style="color: #FF0000;">&quot;.bmp&quot;</span>
		ActiveDocument.GetApplication.WaitForIdle
	<span style="color: #0000ff;">next</span>
<span style="color: #0000ff;">end</span> <span style="color: #0000ff;">sub</span>
&nbsp;
<span style="color: #0000ff;">Function</span> str_clean <span class="br0">&#40;</span>strtoclean<span class="br0">&#41;</span>
	<span style="color: #0000ff;">Dim</span> objRegExp, outputStr
	<span style="color: #0000ff;">Set</span> objRegExp = <span style="color: #0000ff;">New</span> Regexp
&nbsp;
	objRegExp.IgnoreCase = <span style="color: #0000ff;">True</span>
	objRegExp.Global = <span style="color: #0000ff;">True</span>
	objRegExp.Pattern = <span style="color: #FF0000;">&quot;[(?*&quot;</span><span style="color: #FF0000;">&quot;,\\&lt;&gt;&amp;#~%{}+_.@:\/!;]+&quot;</span>
	outputStr = objRegExp.Replace<span class="br0">&#40;</span>strtoclean, <span style="color: #FF0000;">&quot;-&quot;</span><span class="br0">&#41;</span>
&nbsp;
	objRegExp.Pattern = <span style="color: #FF0000;">&quot;\-+&quot;</span>
	outputStr = objRegExp.Replace<span class="br0">&#40;</span>outputStr, <span style="color: #FF0000;">&quot;-&quot;</span><span class="br0">&#41;</span>
&nbsp;
	strClean = outputStr
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span></pre></td></tr></table></pre>
</div><br />
La macro &quot;export_all&quot; fera le tour des feuilles, et les enregistrera en tant qu'image dans le répertoire &quot;c:\temp&quot;.<br />
<br />
On peut améliorer la macro en définissant la taille de la fenêtre, en exportant vers un document PowerPoint, etc...</div>
			
		</div>
	</div>
</div></blockquote>

]]></content:encoded>
			<dc:creator>PhunkyBob</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/119441-phunkybob/b1699/exporter-toutes-feuilles-d-document-qlikview-images/</guid>
		</item>
		<item>
			<title>Exports de tableaux QlikView sous Excel</title>
			<link>https://www.developpez.net/forums/blogs/119441-phunkybob/b1187/exports-tableaux-qlikview-sous-excel/</link>
			<pubDate>Fri, 04 Mar 2016 12:59:58 GMT</pubDate>
			<description>Pour exporter facilement des...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Pour exporter facilement des tableaux dans un fichier Excel, j'ai créé ces fonctions, que j'ai mises dans le module de macros :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code vb :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="40"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br />122<br />123<br />124<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">' Variables utilis&eacute;es par Excel.</span>
<span style="color: #0000ff;">Dim</span> WorkBook
<span style="color: #0000ff;">Dim</span> ExcelApp
<span style="color: #0000ff;">Dim</span> RefSh
<span style="color: #0000ff;">Dim</span> CloseExcelWhenFinished
&nbsp;
<span style="color: #0000ff;">const</span> xlExcel8 = <span style="color: #cc66cc;">56</span>				<span style="color: #808080;">' Format d'enregistrement Excel.</span>
<span style="color: #0000ff;">const</span> xlExcel12 = <span style="color: #cc66cc;">50</span>			<span style="color: #808080;">' Format d'enregistrement Excel.</span>
<span style="color: #0000ff;">const</span> xlOpenXMLWorkbook = <span style="color: #cc66cc;">51</span>	<span style="color: #808080;">' Format d'enregistrement Excel.</span>
&nbsp;
&nbsp;
<span style="color: #808080;">'***************************************************************</span>
<span style="color: #808080;">' Cette m&eacute;thode permet d'ouvrir Excel.</span>
<span style="color: #808080;">'***************************************************************</span>
<span style="color: #0000ff;">sub</span> excel_open<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
	<span style="color: #808080;">' On essaye de prendre Excel s'il est d&eacute;j&agrave; ouvert.</span>
	CloseExcelWhenFinished = <span style="color: #0000ff;">false</span>
	<span style="color: #0000ff;">On</span> <span style="color: #0000ff;">Error</span> <span style="color: #0000ff;">Resume</span> <span style="color: #0000ff;">Next</span>
	Err.Number = <span style="color: #cc66cc;">0</span>
	<span style="color: #808080;">' Si la ligne suivante provoque une erreur, c'est qu'il n'y a pas d'instance d'Excel ouverte.</span>
	<span style="color: #0000ff;">Set</span> ExcelApp = GetObject<span class="br0">&#40;</span>, <span style="color: #FF0000;">&quot;Excel.Application&quot;</span><span class="br0">&#41;</span>
	<span style="color: #0000ff;">If</span> Err.Number &lt;&gt; <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">Then</span>
		<span style="color: #808080;">' Pas d'instance Excel, on en cr&eacute;e une.</span>
		<span style="color: #0000ff;">Set</span> ExcelApp = CreateObject<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Excel.Application&quot;</span><span class="br0">&#41;</span>
		CloseExcelWhenFinished = <span style="color: #0000ff;">true</span>
		Err.Clear
	<span style="color: #0000ff;">end</span> <span style="color: #0000ff;">if</span>
	<span style="color: #0000ff;">on</span> <span style="color: #0000ff;">error</span> <span style="color: #0000ff;">goto</span> <span style="color: #cc66cc;">0</span>
&nbsp;
&nbsp;
	ExcelApp.Visible = <span style="color: #0000ff;">True</span>
	<span style="color: #808080;">' On cr&eacute;e un workbook avec 1 seule feuille.</span>
	ExcelApp.SheetsInNewWorkbook = <span style="color: #cc66cc;">1</span>
&nbsp;
	<span style="color: #0000ff;">Set</span> WorkBook = ExcelApp.Workbooks.Add
	<span style="color: #0000ff;">Set</span> RefSh = WorkBook.Worksheets<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>	<span style="color: #808080;">' La premi&egrave;re feuille (qui sera de toutes mani&egrave;res supprim&eacute;e) servira de r&eacute;f&eacute;rence</span>
	RefSh.name = <span style="color: #FF0000;">&quot;a supprimer&quot;</span>
&nbsp;
<span style="color: #0000ff;">end</span> <span style="color: #0000ff;">sub</span>
&nbsp;
<span style="color: #808080;">'***************************************************************</span>
<span style="color: #808080;">' Cette m&eacute;thode permet de sauvegarder le fichier Excel.</span>
<span style="color: #808080;">'</span>
<span style="color: #808080;">' @param p_file_name : nom du fichier &agrave; enregistrer.</span>
<span style="color: #808080;">'***************************************************************</span>
<span style="color: #0000ff;">sub</span> excel_save<span class="br0">&#40;</span>p_file_name<span class="br0">&#41;</span>
	<span style="color: #0000ff;">On</span> <span style="color: #0000ff;">Error</span> <span style="color: #0000ff;">Resume</span> <span style="color: #0000ff;">Next</span>
&nbsp;
	<span style="color: #0000ff;">Dim</span> oFSO
	<span style="color: #0000ff;">Set</span> oFSO = CreateObject<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Scripting.FileSystemObject&quot;</span><span class="br0">&#41;</span>
&nbsp;
	refSh.delete
	WorkBook.Worksheets<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>.activate
&nbsp;
	Err.Number = <span style="color: #cc66cc;">0</span> 
	CheminSauv = oFSO.GetAbsolutePathName<span class="br0">&#40;</span>p_file_name<span class="br0">&#41;</span>
&nbsp;
&nbsp;
	ExcelApp.DisplayAlerts = <span style="color: #0000ff;">False</span>
	WorkBook.SaveAs CheminSauv, xlOpenXMLWorkbook
&nbsp;
	ExcelApp.DisplayAlerts = <span style="color: #0000ff;">True</span>
	WorkBook.Saved = <span style="color: #0000ff;">true</span>
&nbsp;
	NewNameCounter = <span style="color: #cc66cc;">0</span>
	NewName = <span style="color: #FF0000;">&quot;&quot;</span>
&nbsp;
	<span style="color: #0000ff;">On</span> <span style="color: #0000ff;">Error</span> <span style="color: #0000ff;">Goto</span> <span style="color: #cc66cc;">0</span>
	WorkBook.close
&nbsp;
<span style="color: #0000ff;">end</span> <span style="color: #0000ff;">sub</span>
&nbsp;
<span style="color: #808080;">'***************************************************************</span>
<span style="color: #808080;">' Cette m&eacute;thode permet d'envoyer un graphique dans Excel, comme</span>
<span style="color: #808080;">' si on avait utilis&eacute; la fonction &quot;envoyer vers Excel&quot;.</span>
<span style="color: #808080;">'</span>
<span style="color: #808080;">' @param p_GraphID : l'identifiant du graphique &agrave; exporter.</span>
<span style="color: #808080;">' @param p_SheetName : la feuille sur laquelle on veut mettre le tableau.</span>
<span style="color: #808080;">'***************************************************************</span>
<span style="color: #0000ff;">sub</span> excel_export_chart<span class="br0">&#40;</span>p_GraphID, p_SheetName<span class="br0">&#41;</span>
	<span style="color: #0000ff;">Set</span> obj = ActiveDocument.GetSheetObject<span class="br0">&#40;</span>p_GraphID<span class="br0">&#41;</span>
&nbsp;
	<span style="color: #0000ff;">On</span> <span style="color: #0000ff;">Error</span> <span style="color: #0000ff;">Resume</span> <span style="color: #0000ff;">Next</span>
	Err.Number = <span style="color: #cc66cc;">0</span>	
&nbsp;
	obj.sendtoexcel
&nbsp;
	<span style="color: #0000ff;">on</span> <span style="color: #0000ff;">error</span> <span style="color: #0000ff;">goto</span> <span style="color: #cc66cc;">0</span>
&nbsp;
	<span style="color: #0000ff;">Set</span> tmpWorkbook = ExcelApp.ActiveWorkbook
&nbsp;
	tmpWorkbook.ActiveSheet.name = p_SheetName 	
&nbsp;
	<span style="color: #0000ff;">On</span> <span style="color: #0000ff;">Error</span> <span style="color: #0000ff;">Resume</span> <span style="color: #0000ff;">Next</span>
	Err.Number = <span style="color: #cc66cc;">0</span>	
&nbsp;
	<span style="color: #808080;">' on recopie la feuille contenant les donn&eacute;es dans le classeur cr&eacute;&eacute; en premier lieu</span>
	tmpWorkbook.ActiveSheet.copy RefSh	
		<span style="color: #0000ff;">If</span> Err.Number &lt;&gt; <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">Then</span>
		Err.Clear
	<span style="color: #0000ff;">end</span> <span style="color: #0000ff;">if</span>
		<span style="color: #0000ff;">on</span> <span style="color: #0000ff;">error</span> <span style="color: #0000ff;">goto</span> <span style="color: #cc66cc;">0</span>
	<span style="color: #0000ff;">If</span> ExcelKeepColors = <span style="color: #0000ff;">true</span> <span style="color: #0000ff;">Then</span>
		<span style="color: #808080;">' Conservation de la mise en forme.</span>
		WorkBook.Colors = tmpWorkbook.Colors
	<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
	<span style="color: #808080;">' puis on ferme le classeur qui contenait les donn&eacute;es export&eacute;es</span>
	tmpWorkbook.close <span style="color: #0000ff;">false</span>
&nbsp;
<span style="color: #0000ff;">Set</span> obj = <span style="color: #0000ff;">Nothing</span>
<span style="color: #0000ff;">end</span> <span style="color: #0000ff;">sub</span>
&nbsp;
&nbsp;
<span style="color: #808080;">'***************************************************************</span>
<span style="color: #808080;">' Cette m&eacute;thode permet d'ajuster la taille de toutes les colonnes.</span>
<span style="color: #808080;">'***************************************************************</span>
<span style="color: #0000ff;">sub</span> excel_autofit<span class="br0">&#40;</span><span class="br0">&#41;</span>
	<span style="color: #808080;">' On met au propre toutes les colonnes.</span>
	<span style="color: #0000ff;">for</span> i = <span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">to</span> WorkBook.Worksheets.count
		WorkBook.Worksheets<span class="br0">&#40;</span>i<span class="br0">&#41;</span>.Columns.Autofit<span class="br0">&#40;</span><span class="br0">&#41;</span>
	<span style="color: #0000ff;">next</span> 
<span style="color: #0000ff;">end</span> <span style="color: #0000ff;">sub</span></pre></td></tr></table></pre>
</div><br />
Sans oublier d'autoriser les accès système.<br />
<br />
<br />
Ensuite, il suffit de créer une sub qui dit quels charts sont à exporter :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code vb :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:156px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">sub</span> export_chart<span class="br0">&#40;</span><span class="br0">&#41;</span>
	<span style="color: #0000ff;">call</span> excel_open
&nbsp;
	<span style="color: #0000ff;">call</span> excel_export_chart<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;CH01&quot;</span>, <span style="color: #FF0000;">&quot;onglet 1&quot;</span><span class="br0">&#41;</span>
	<span style="color: #0000ff;">call</span> excel_export_chart<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;CH02&quot;</span>, <span style="color: #FF0000;">&quot;onglet 2&quot;</span><span class="br0">&#41;</span>
&nbsp;
	<span style="color: #0000ff;">call</span> excel_autofit
&nbsp;
	<span style="color: #0000ff;">call</span> excel_save<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;c:\temp\toto.xlsx&quot;</span><span class="br0">&#41;</span>
<span style="color: #0000ff;">end</span> <span style="color: #0000ff;">sub</span></pre></td></tr></table></pre>
</div><br />
L'appel de cette macro générera automatiquement un fichier Excel qui contiendra autant d'onglets que souhaité.<br />
<br />
<br />
<br />
Il est aussi possible de créer un script VBS externe qui ouvrira un QlikView et qui fera les exports souhaités :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code VB :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">const</span> xlOpenXMLWorkbook = <span style="color: #cc66cc;">51</span>	<span style="color: #808080;">' Format d'enregistrement Excel.</span>
&nbsp;
<span style="color: #808080;">' Ouverture du document QV.</span>
<span style="color: #0000ff;">Set</span> myApp = CreateObject<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;QlikTech.QlikView&quot;</span><span class="br0">&#41;</span>
<span style="color: #0000ff;">Set</span> myDoc = myApp.OpenDoc<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;C:\Program Files\QlikView\Examples\Documents\Executive Dashboard.qvw&quot;</span><span class="br0">&#41;</span>
<span style="color: #0000ff;">Set</span> ActiveDocument = myDoc
&nbsp;
<span style="color: #0000ff;">Set</span> ExcelApp = CreateObject<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Excel.Application&quot;</span><span class="br0">&#41;</span>
ExcelApp.Visible = <span style="color: #0000ff;">True</span>
ExcelApp.SheetsInNewWorkbook = <span style="color: #cc66cc;">1</span>
&nbsp;
<span style="color: #0000ff;">Set</span> WorkBook = ExcelApp.Workbooks.Add
<span style="color: #0000ff;">Set</span> RefSh = WorkBook.Worksheets<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>
RefSh.name = <span style="color: #FF0000;">&quot;vide&quot;</span>		<span style="color: #808080;">' Une feuille vide, qu'on supprimera &agrave; la fin</span>
&nbsp;
&nbsp;
&nbsp;
<span style="color: #808080;">' ClearAll</span>
ActiveDocument.ClearAll
&nbsp;
<span style="color: #0000ff;">for</span> i = <span style="color: #cc66cc;">2009</span> <span style="color: #0000ff;">to</span> <span style="color: #cc66cc;">2011</span>
	<span style="color: #808080;">' Selection de l'ann&eacute;e.</span>
	<span style="color: #0000ff;">Set</span> MyField = ActiveDocument.Fields<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;[Fiscal Year]&quot;</span><span class="br0">&#41;</span>
	MyField.Select i
&nbsp;
	<span style="color: #808080;">' Export du chart CH54 dans une onglet.</span>
	<span style="color: #0000ff;">Set</span> obj = ActiveDocument.GetSheetObject<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;CH54&quot;</span><span class="br0">&#41;</span>
	obj.sendtoexcel
	<span style="color: #0000ff;">Set</span> tmpWorkbook = ExcelApp.ActiveWorkbook
	tmpWorkbook.ActiveSheet.name = <span style="color: #FF0000;">&quot;Export &quot;</span> &amp; i
	tmpWorkbook.ActiveSheet.copy RefSh	
	tmpWorkbook.close <span style="color: #0000ff;">false</span>
&nbsp;
	<span style="color: #808080;">' Export du chart sous forme d'image au niveau de la ligne 1, colonne 5.</span>
	<span style="color: #0000ff;">Set</span> obj = ActiveDocument.GetSheetObject<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;CH54&quot;</span><span class="br0">&#41;</span>
	<span style="color: #0000ff;">Set</span> currentSheet = obj.GetSheet
	currentSheet.Activate
&nbsp;
	obj.CopyBitmapToClipboard
&nbsp;
	Workbook.Worksheets<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Export &quot;</span> &amp; i<span class="br0">&#41;</span>.Cells<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">5</span><span class="br0">&#41;</span>.Select
	Workbook.Worksheets<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Export &quot;</span> &amp; i<span class="br0">&#41;</span>.Paste
<span style="color: #0000ff;">next</span> 
&nbsp;
&nbsp;
&nbsp;
<span style="color: #808080;">' Suppression de la feuille vide.</span>
refSh.delete
WorkBook.Worksheets<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>.activate
&nbsp;
ExcelApp.DisplayAlerts = <span style="color: #0000ff;">False</span>
WorkBook.SaveAs <span style="color: #FF0000;">&quot;c:\temp\export.xlsx&quot;</span>, xlOpenXMLWorkbook
&nbsp;
ExcelApp.DisplayAlerts = <span style="color: #0000ff;">True</span>
WorkBook.Saved = <span style="color: #0000ff;">True</span>
&nbsp;
<span style="color: #808080;">'On ferme le doc Excel.</span>
WorkBook.close
&nbsp;
<span style="color: #808080;">' On ferme Excel.</span>
ExcelApp.quit
&nbsp;
<span style="color: #808080;">' On ferme QV.</span>
myApp.Quit</pre></td></tr></table></pre>
</div></blockquote>

]]></content:encoded>
			<dc:creator>PhunkyBob</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/119441-phunkybob/b1187/exports-tableaux-qlikview-sous-excel/</guid>
		</item>
		<item>
			<title>QlikView : changer la couleur de la sélection active ?</title>
			<link>https://www.developpez.net/forums/blogs/119441-phunkybob/b664/qlikview-changer-couleur-selection-active/</link>
			<pubDate>Thu, 30 Jul 2015 09:06:17 GMT</pubDate>
			<description>Question : Comment faire pour...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Question : Comment faire pour que dans une application QlikView, les sélections ne soient pas en vert (couleur par défaut de QlikView) ?<br />
<br />
Réponse : <br />
Dans le menu Paramètres --&gt; Propriétés du document --&gt; onglet Général --&gt; Aspect de la sélection (en bas à droite)<br />
nous permet de choisir entre :<br />
- vert<br />
- vert clair<br />
- vert foncé<br />
- vert pâle<br />
- vert fluo<br />
- ...<br />
- [personnalisé]<br />
<br />
Il faut alors choisir &quot;[personnalisé]&quot; puis créer une macro VBS (Ctrl+M) :<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code vb :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:204px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">sub</span> CustomColor
	<span style="color: #0000ff;">set</span> up = ActiveDocument.GetApplication.GetUserPreferences
	up.CustomSelBgColor<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>.PrimaryCol.Col = RGB <span class="br0">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">255</span><span class="br0">&#41;</span>
	up.CustomSelFgColor<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>.PrimaryCol.Col = RGB <span class="br0">&#40;</span><span style="color: #cc66cc;">255</span>,<span style="color: #cc66cc;">255</span>,<span style="color: #cc66cc;">255</span><span class="br0">&#41;</span>
	up.CustomSelBgColor<span class="br0">&#40;</span><span style="color: #cc66cc;">5</span><span class="br0">&#41;</span>.PrimaryCol.Col = RGB <span class="br0">&#40;</span><span style="color: #cc66cc;">153</span>,<span style="color: #cc66cc;">217</span>,<span style="color: #cc66cc;">234</span><span class="br0">&#41;</span>
	up.CustomSelFgColor<span class="br0">&#40;</span><span style="color: #cc66cc;">5</span><span class="br0">&#41;</span>.PrimaryCol.Col = RGB <span class="br0">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span><span class="br0">&#41;</span>
	<span style="color: #808080;">' indexes</span>
	<span style="color: #808080;">' 0=locked</span>
	<span style="color: #808080;">' 1=selected</span>
	<span style="color: #808080;">' 2=optional</span>
	<span style="color: #808080;">' 3=deselected </span>
	<span style="color: #808080;">' 4=alternative</span>
	<span style="color: #808080;">' 5=excluded</span>
	<span style="color: #808080;">' 6=excluded selected</span>
	<span style="color: #808080;">' 7=excluded locked</span>
	ActiveDocument.GetApplication.SetUserPreferences up
<span style="color: #0000ff;">end</span> <span style="color: #0000ff;">sub</span></pre></td></tr></table></pre>
</div>et l'exécuter au moins une fois.<br />
<br />
Pour être sûr, on peut déclencher la macro à l'ouverture du documents.</blockquote>

]]></content:encoded>
			<dc:creator>PhunkyBob</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/119441-phunkybob/b664/qlikview-changer-couleur-selection-active/</guid>
		</item>
	</channel>
</rss>
