<?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 - informer</title>
		<link>https://www.developpez.net/forums/blogs/347407-informer/</link>
		<description>Developpez.com, le Club des Développeurs et IT Pro</description>
		<language>fr</language>
		<lastBuildDate>Tue, 14 Apr 2026 17:44:21 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 - informer</title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/</link>
		</image>
		<item>
			<title><![CDATA[Ma Minute M - Création d'1 liste de sous-listes = concatenat° des items de même position de 2 listes]]></title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10693/minute-m-creation-d-1-liste-sous-listes-concatenat-items-meme-position-2-listes/</link>
			<pubDate>Tue, 15 Apr 2025 06:03:31 GMT</pubDate>
			<description>*Objectif* Concaténer 2...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><font size="4"><font color="#a52a2a"><b><font size="3">Objectif</font></b></font></font> Concaténer 2 listes pour créer une liste unique composée de la concaténation des items de même index / position dans chaque liste.<br />
<br />
Obtenir {{1, &quot;txt1&quot;}, {2, &quot;txt2&quot;}, {3, &quot;txt3&quot;}, {4, null}} avec liste1={1..4} et liste2 ={&quot;txt1&quot;, &quot;txt2&quot;, txt3&quot;}<br />
<br />
<font color="#a52a2a"><font size="4"><b><font size="3">Contexte</font></b></font></font><br />
Les listes sont directement créées dans le code.<br />
<br />
<font color="#a52a2a"><font size="3"><b>Code<br />
</b></font></font><div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code php :</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:192px;"><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 /></div></td><td valign="top"><pre style="margin: 0">let
    <span style="color: #339933;">#&quot;DataList&quot; = let</span>
    lst1 =  <span class="br0">&#123;</span><span class="br0">&#123;</span><span style="color: #cc66cc;">1</span>..<span style="color: #cc66cc;">10</span><span class="br0">&#125;</span>,<span class="br0">&#123;</span> <span style="color: #FF0000;">&quot;txt1&quot;</span>,<span style="color: #FF0000;">&quot;txt2&quot;</span>, <span style="color: #FF0000;">&quot;txt3&quot;</span><span class="br0">&#125;</span><span class="br0">&#125;</span>
    ,lstMerge = List.Zip<span class="br0">&#40;</span>lst1<span class="br0">&#41;</span>
    <span style="color: #808080;">/*-----------------------------------------------------------------------------------------------------</span>
<span style="color: #808080;">&nbsp;       Permet de v&eacute;rifier la concat&eacute;nation. Transforme la liste en table et chaque sous-liste en record</span>
<span style="color: #808080;">&nbsp;   -----------------------------------------------------------------------------------------------------*/</span>
    ,tblList2 = Table.FromRows<span class="br0">&#40;</span>lstMerge, type table<span class="br0">&#91;</span> id = Int64.Type, value = Text.Type <span class="br0">&#93;</span><span class="br0">&#41;</span>
&nbsp;
in
    tblList2
in
    <span style="color: #339933;">#&quot;DataList&quot;</span></pre></td></tr></table></pre>
</div><br />
<img src="https://www.developpez.net/forums/attachments/p666635d1744966412/autres-langages/pascal/turbo-pascal/tp-molette-souris-port-ps-2/zip.png/" border="0" alt="Nom : zip.PNG
Affichages : 65
Taille : 27,9 Ko"  style="float: CONFIG" /><br />
<br />
C'est maintenant Votre Minute M</blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10693/minute-m-creation-d-1-liste-sous-listes-concatenat-items-meme-position-2-listes/</guid>
		</item>
		<item>
			<title><![CDATA[Ma Minute M - Renommer les colonnes d'une table ayant un même préfixe en supprimant le préfixe commun]]></title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10692/minute-m-renommer-colonnes-d-table-ayant-meme-prefixe-supprimant-prefixe-commun/</link>
			<pubDate>Mon, 14 Apr 2025 16:55:49 GMT</pubDate>
			<description>*Objectif* 
 
Modifier le nom...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><font color="#a52a2a"><b><font size="3">Objectif</font></b></font><br />
<br />
Modifier le nom des colonnes ayant le même préfixe en supprimant ce préfixe<br />
<br />
{&quot;AddCol2.R5&quot;, &quot;AddCol2.R6&quot;, &quot;AddCol2.R7&quot;, &quot;AddCol2.R8&quot;} =&gt; &quot;{R5&quot;, &quot;R6&quot;, &quot;R7&quot;, &quot;R8&quot;}<br />
<br />
<font color="#a52a2a"><font size="3"><b>Contexte</b></font></font><br />
<br />
Ce billet fait suite au billet précédent <a href="https://www.developpez.net/forums/blogs/347407-informer/b10691/minute-m-creation-d-1-table-fusion-2-tables-colonnes-differentes-meme-cle-multicolonnes/" target="_blank">Ma Minute M : Création d'1 table par fusion de 2 tables avec colonnes différentes et même clé multicolonnes</a><br />
<br />
Dans ce précédent billet, la modification des colonnes se faisait manuellement. La solution proposée est générique.<br />
<br />
<font color="#a52a2a"><b><font size="3">Code</font></b></font><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 php :</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:192px;"><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 /></div></td><td valign="top"><pre style="margin: 0">let
    Source = Table.NestedJoin<span class="br0">&#40;</span>Table1, <span class="br0">&#123;</span><span style="color: #FF0000;">&quot;A&quot;</span>, <span style="color: #FF0000;">&quot;B&quot;</span>,<span style="color: #FF0000;">&quot;C&quot;</span><span class="br0">&#125;</span>, Table2, <span class="br0">&#123;</span><span style="color: #FF0000;">&quot;A&quot;</span>, <span style="color: #FF0000;">&quot;B&quot;</span>,<span style="color: #FF0000;">&quot;C&quot;</span><span class="br0">&#125;</span>, <span style="color: #FF0000;">&quot;AddCol2&quot;</span>, JoinKind.Inner<span class="br0">&#41;</span>,
    <span style="color: #339933;">#&quot;Expanded AddCol2&quot; = Table.ExpandTableColumn(Source, &quot;AddCol2&quot;, {&quot;R5&quot;, &quot;R6&quot;, &quot;R7&quot;, &quot;R8&quot;, &quot;id&quot;},{&quot;AddCol2.R5&quot;, &quot;AddCol2.R6&quot;, &quot;AddCol2.R7&quot;, &quot;AddCol2.R8&quot;, &quot;id2&quot;}),</span>
    <span style="color: #339933;">#&quot;Remove list col&quot; = let</span>
    listCol = Table.ColumnNames<span class="br0">&#40;</span> <span style="color: #339933;">#&quot;Expanded AddCol2&quot;)</span>
            ,tblColName = Table.FromList<span class="br0">&#40;</span>listCol,<span style="color: #0080ff;">null</span><span class="br0">&#41;</span>
            ,tblColNameSelection = Table.SelectRows<span class="br0">&#40;</span>tblColName, each Text.StartsWith<span class="br0">&#40;</span><span class="br0">&#91;</span>Column1<span class="br0">&#93;</span>, <span style="color: #FF0000;">&quot;AddCol2&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
            ,lstColNameSelection = tblColNameSelection<span class="br0">&#91;</span>Column1<span class="br0">&#93;</span>
            ,lstColNameClean = List.ReplaceValue<span class="br0">&#40;</span>lstColNameSelection,<span style="color: #FF0000;">&quot;AddCol2.&quot;</span> ,  <span style="color: #FF0000;">&quot;&quot;</span>,  Replacer.ReplaceText <span class="br0">&#41;</span>
            ,lstToRename = List.Zip<span class="br0">&#40;</span><span class="br0">&#123;</span>lstColNameSelection,lstColNameClean<span class="br0">&#125;</span><span class="br0">&#41;</span>
            ,tblColRenamed =  Table.RenameColumns<span class="br0">&#40;</span> <span style="color: #339933;">#&quot;Expanded AddCol2&quot; , lstToRename)</span>
    in tblColRenamed
in
    <span style="color: #339933;">#&quot;Remove list col&quot;</span></pre></td></tr></table></pre>
</div><br />
<i><b><u><font color="#0000cd">Analyse</font></u></b></i><br />
<br />
Pour comprendre List.Zip voir mon billet <a href="https://www.developpez.net/forums/blogs/347407-informer/b10690/minute-m-modification-dynamique-valeurs-erreurs-null-list-accumulate-vs-list-zip/" target="_blank">Ma Minute M - Modification dynamique des valeurs en erreurs par null List.Accumulate vs List.Zip</a>                  <br />
 <br />
<br />
 <br />
<b><font size="4"><font color="#800080">C'est maintenant Votre Minute M</font></font></b></blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10692/minute-m-renommer-colonnes-d-table-ayant-meme-prefixe-supprimant-prefixe-commun/</guid>
		</item>
		<item>
			<title><![CDATA[Ma Minute M : Création d'1 table par fusion de 2 tables avec colonnes différentes et même clé multicolonnes]]></title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10691/minute-m-creation-d-1-table-fusion-2-tables-colonnes-differentes-meme-cle-multicolonnes/</link>
			<pubDate>Mon, 14 Apr 2025 06:35:05 GMT</pubDate>
			<description><![CDATA[*Objectif  
*Création d'une...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><font color="#a52a2a"><b>Objectif <br />
</b></font>Création d'une table qui combine les colonnes de 2 tables i.e. ajoute pour PK(A,B,C) les colonnes [R1...R8] avec Table1 (A,B,C, R1,R2, R3,R4) et Table2 (A,B,C, R5,R6, R7,R8)<br />
<br />
<div class="cms_table"><table class="cms_table"><tr valign="top" class="cms_table_tr"><TH class="cms_table_th">A</TH>
<TH class="cms_table_th">B</TH>
<TH class="cms_table_th">C</TH>
<TH class="cms_table_th">R1</TH>
<TH class="cms_table_th">R2</TH>
<TH class="cms_table_th">R3</TH>
<TH class="cms_table_th">R4</TH>
<TH class="cms_table_th">id</TH>
<TH class="cms_table_th">R5</TH>
<TH class="cms_table_th">R6</TH>
<TH class="cms_table_th">R7</TH>
<TH class="cms_table_th">R8</TH>
<TH class="cms_table_th">id2</TH>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">1</TD>
<TD class="cms_table_td">asd</TD>
<TD class="cms_table_td">0.6</TD>
<TD class="cms_table_td">0.23</TD>
<TD class="cms_table_td">0.51</TD>
<TD class="cms_table_td">0.33</TD>
<TD class="cms_table_td">0.B56</TD>
<TD class="cms_table_td">1asd0.6</TD>
<TD class="cms_table_td">0.45</TD>
<TD class="cms_table_td">0.25</TD>
<TD class="cms_table_td">0.11</TD>
<TD class="cms_table_td">0.36</TD>
<TD class="cms_table_td">1asd0.6</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">2</TD>
<TD class="cms_table_td">asd</TD>
<TD class="cms_table_td">0.6</TD>
<TD class="cms_table_td">ACF</TD>
<TD class="cms_table_td">BCA</TD>
<TD class="cms_table_td">FGI</TD>
<TD class="cms_table_td">LMN</TD>
<TD class="cms_table_td">2asd0.6</TD>
<TD class="cms_table_td">DSA</TD>
<TD class="cms_table_td">FDG</TD>
<TD class="cms_table_td">RER</TD>
<TD class="cms_table_td">LUN</TD>
<TD class="cms_table_td">2asd0.6</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">3</TD>
<TD class="cms_table_td">asd</TD>
<TD class="cms_table_td">0.6</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">3asd0.6</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">3asd0.6</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">1</TD>
<TD class="cms_table_td">ghi</TD>
<TD class="cms_table_td">0.1</TD>
<TD class="cms_table_td">0.11</TD>
<TD class="cms_table_td">0.21</TD>
<TD class="cms_table_td">0.43</TD>
<TD class="cms_table_td">0.96</TD>
<TD class="cms_table_td">1ghi0.1</TD>
<TD class="cms_table_td">0.91</TD>
<TD class="cms_table_td">0.43</TD>
<TD class="cms_table_td">0.13</TD>
<TD class="cms_table_td">0.94</TD>
<TD class="cms_table_td">1ghi0.1</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">2</TD>
<TD class="cms_table_td">ghi</TD>
<TD class="cms_table_td">0.1</TD>
<TD class="cms_table_td">DCM</TD>
<TD class="cms_table_td">DHJ</TD>
<TD class="cms_table_td">TRO</TD>
<TD class="cms_table_td">PQR</TD>
<TD class="cms_table_td">2ghi0.1</TD>
<TD class="cms_table_td">WED</TD>
<TD class="cms_table_td">QYT</TD>
<TD class="cms_table_td">SAO</TD>
<TD class="cms_table_td">LAP</TD>
<TD class="cms_table_td">2ghi0.1</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">3</TD>
<TD class="cms_table_td">ghi</TD>
<TD class="cms_table_td">0.1</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">3ghi0.1</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">3ghi0.1</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">1</TD>
<TD class="cms_table_td">hkl</TD>
<TD class="cms_table_td">0.2</TD>
<TD class="cms_table_td">0.23</TD>
<TD class="cms_table_td">0.51</TD>
<TD class="cms_table_td">0.33</TD>
<TD class="cms_table_td">0.56</TD>
<TD class="cms_table_td">1hkl0.2</TD>
<TD class="cms_table_td">0.49</TD>
<TD class="cms_table_td">0.78</TD>
<TD class="cms_table_td">0.61</TD>
<TD class="cms_table_td">0.56</TD>
<TD class="cms_table_td">1hkl0.2</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">2</TD>
<TD class="cms_table_td">hkl</TD>
<TD class="cms_table_td">0.2</TD>
<TD class="cms_table_td">ARP</TD>
<TD class="cms_table_td">VBA</TD>
<TD class="cms_table_td">GFI</TD>
<TD class="cms_table_td">WQE</TD>
<TD class="cms_table_td">2hkl0.2</TD>
<TD class="cms_table_td">MAG</TD>
<TD class="cms_table_td">ROR</TD>
<TD class="cms_table_td">KAL</TD>
<TD class="cms_table_td">OLS</TD>
<TD class="cms_table_td">2hkl0.2</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">3</TD>
<TD class="cms_table_td">hkl</TD>
<TD class="cms_table_td">0.2</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">3hkl0.2</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">3hkl0.2</TD>
</tr>
</table></div>
<br />
<font color="#a52a2a"><b>Source</b></font><br />
Fichier Excel avec 2 onglets <a href="https://www.developpez.net/forums/attachments/p666487d1744616473/c-cpp/c/recuperer-nom-d-fichier/datatest-_mergecol.xlsx/"  title="Nom : DataTest _MergeCol.xlsx
Affichages : 55
Taille : 16,7 Ko">DataTest _MergeCol.xlsx</a><br />
<ul><li style="">Chaque onglet correspondant à une table.</li><li style="">Chaque table a une clé primaire (CP) multi-colonnes =  PK(A,B,C)</li><li style="">Il y a correspondance des CP dans les 2 tables PK<sub>t1</sub>(A,B,C) inner join K<sub>t2</sub>(A,B,C)</li></ul><br />
 <br />
<div class="cms_table"><table class="cms_table"><tr valign="top" class="cms_table_tr"><TH class="cms_table_th">A</TH>
<TH class="cms_table_th">B</TH>
<TH class="cms_table_th">C</TH>
<TH class="cms_table_th">R1</TH>
<TH class="cms_table_th">R2</TH>
<TH class="cms_table_th">R3</TH>
<TH class="cms_table_th">R4</TH>
<TH class="cms_table_th">id</TH>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">1</TD>
<TD class="cms_table_td">asd</TD>
<TD class="cms_table_td">0.6</TD>
<TD class="cms_table_td">0.23</TD>
<TD class="cms_table_td">0.51</TD>
<TD class="cms_table_td">0.33</TD>
<TD class="cms_table_td">0.56</TD>
<TD class="cms_table_td">1asd0.6</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">2</TD>
<TD class="cms_table_td">asd</TD>
<TD class="cms_table_td">0.6</TD>
<TD class="cms_table_td">ACF</TD>
<TD class="cms_table_td">BCA</TD>
<TD class="cms_table_td">FGI</TD>
<TD class="cms_table_td">LMN</TD>
<TD class="cms_table_td">2asd0.6</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">3</TD>
<TD class="cms_table_td">asd</TD>
<TD class="cms_table_td">0.6</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">3asd0.6</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">1</TD>
<TD class="cms_table_td">ghi</TD>
<TD class="cms_table_td">0.1</TD>
<TD class="cms_table_td">0.11</TD>
<TD class="cms_table_td">0.21</TD>
<TD class="cms_table_td">0.43</TD>
<TD class="cms_table_td">0.96</TD>
<TD class="cms_table_td">1ghi0.1</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">2</TD>
<TD class="cms_table_td">ghi</TD>
<TD class="cms_table_td">0.1</TD>
<TD class="cms_table_td">DCM</TD>
<TD class="cms_table_td">DHJ</TD>
<TD class="cms_table_td">TRO</TD>
<TD class="cms_table_td">PQR</TD>
<TD class="cms_table_td">2ghi0.1</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">3</TD>
<TD class="cms_table_td">ghi</TD>
<TD class="cms_table_td">0.1</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">3ghi0.1</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">1</TD>
<TD class="cms_table_td">hkl</TD>
<TD class="cms_table_td">0.2</TD>
<TD class="cms_table_td">0.23</TD>
<TD class="cms_table_td">0.51</TD>
<TD class="cms_table_td">0.33</TD>
<TD class="cms_table_td">0.56</TD>
<TD class="cms_table_td">1hkl0.2</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">2</TD>
<TD class="cms_table_td">hkl</TD>
<TD class="cms_table_td">0.2</TD>
<TD class="cms_table_td">ARP</TD>
<TD class="cms_table_td">VBA</TD>
<TD class="cms_table_td">GFI</TD>
<TD class="cms_table_td">WQE</TD>
<TD class="cms_table_td">2hkl0.2</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">3</TD>
<TD class="cms_table_td">hkl</TD>
<TD class="cms_table_td">0.2</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">3hkl0.2</TD>
</tr>
</table></div>
<br />
<div class="cms_table"><table class="cms_table"><tr valign="top" class="cms_table_tr"><TH class="cms_table_th">A</TH>
<TH class="cms_table_th">B</TH>
<TH class="cms_table_th">C</TH>
<TH class="cms_table_th">R5</TH>
<TH class="cms_table_th">R6</TH>
<TH class="cms_table_th">R7</TH>
<TH class="cms_table_th">R8</TH>
<TH class="cms_table_th">id</TH>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">1</TD>
<TD class="cms_table_td">asd</TD>
<TD class="cms_table_td">0.6</TD>
<TD class="cms_table_td">0.45</TD>
<TD class="cms_table_td">0.25</TD>
<TD class="cms_table_td">0.11</TD>
<TD class="cms_table_td">0.36</TD>
<TD class="cms_table_td">1asd0.6</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">2</TD>
<TD class="cms_table_td">asd</TD>
<TD class="cms_table_td">0.6</TD>
<TD class="cms_table_td">DSA</TD>
<TD class="cms_table_td">FDG</TD>
<TD class="cms_table_td">RER</TD>
<TD class="cms_table_td">LUN</TD>
<TD class="cms_table_td">2asd0.6</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">3</TD>
<TD class="cms_table_td">asd</TD>
<TD class="cms_table_td">0.6</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">3asd0.6</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">1</TD>
<TD class="cms_table_td">ghi</TD>
<TD class="cms_table_td">0.1</TD>
<TD class="cms_table_td">0.91</TD>
<TD class="cms_table_td">0.43</TD>
<TD class="cms_table_td">0.13</TD>
<TD class="cms_table_td">0.94</TD>
<TD class="cms_table_td">1ghi0.1</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">2</TD>
<TD class="cms_table_td">ghi</TD>
<TD class="cms_table_td">0.1</TD>
<TD class="cms_table_td">WED</TD>
<TD class="cms_table_td">QYT</TD>
<TD class="cms_table_td">SAO</TD>
<TD class="cms_table_td">LAP</TD>
<TD class="cms_table_td">2ghi0.1</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">3</TD>
<TD class="cms_table_td">ghi</TD>
<TD class="cms_table_td">0.1</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">3ghi0.1</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">1</TD>
<TD class="cms_table_td">hkl</TD>
<TD class="cms_table_td">0.2</TD>
<TD class="cms_table_td">0.49</TD>
<TD class="cms_table_td">0.78</TD>
<TD class="cms_table_td">0.61</TD>
<TD class="cms_table_td">0.56</TD>
<TD class="cms_table_td">1hkl0.2</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">2</TD>
<TD class="cms_table_td">hkl</TD>
<TD class="cms_table_td">0.2</TD>
<TD class="cms_table_td">MAG</TD>
<TD class="cms_table_td">ROR</TD>
<TD class="cms_table_td">KAL</TD>
<TD class="cms_table_td">OLS</TD>
<TD class="cms_table_td">2hkl0.2</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">3</TD>
<TD class="cms_table_td">hkl</TD>
<TD class="cms_table_td">0.2</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">null</TD>
<TD class="cms_table_td">1</TD>
<TD class="cms_table_td">3hkl0.2</TD>
</tr>
</table></div>
<br />
<font color="#a52a2a"><b>Contexte <br />
</b></font>Chargement des 2 tables dans PWBI<br />
Ouverture de PWQY<br />
<br />
<font color="#a52a2a"><b>Opérations</b></font><br />
Sélectionner Home -&gt; Merge Quries -&gt; Merge Queries As New (Création d'une nouvelle table)<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p666512d1744642406/c-cpp/c/recuperer-nom-d-fichier/merge1.png/" border="0" alt="Nom : Merge1.png
Affichages : 72
Taille : 90,8 Ko"  style="float: CONFIG" /><br />
<br />
Ouverture d'une 2ième fenêtre intitulée MERGE avec la 1ère liste déroulante initialisée avec le Table1<br />
Sélectionner dans la 2ième liste déroulante Table2<br />
 <img src="https://www.developpez.net/forums/attachments/p666514d1744642760/c-cpp/c/recuperer-nom-d-fichier/merge2.png/" border="0" alt="Nom : Merge2.png
Affichages : 61
Taille : 59,5 Ko"  style="float: CONFIG" /><br />
<br />
On remarque <br />
<ul><li style="">des indexes de 1 à 3 sur les colonnes A,B, C =&gt; A<sub>1</sub>, B<sub>2</sub> , C<sub>3<br />
</sub></li><li style="">La sélection de l'option  = Inner (Only matching Rows) dans Join Kind</li></ul><br />
 <br />
<u><font color="#0000cd">Les  indexes </font></u><br />
indiquent les colonnes composant la clé primaire. Pour ajouter un champ dans la clé primaire, Cliquer sur la colonne en appuyant sur CTRL. <br />
Effectuer la sélection dans le même ordre sur les 2 tables =&gt; Table1 ( A<sub>1</sub>, B<sub>2</sub> , C<sub>3</sub>) &amp; Table2 ( A<sub>1</sub>, B<sub>2</sub> , C<sub>3</sub>)<br />
<br />
<u><font color="#0000cd">Join Kind </font></u><br />
L'option choisie indique le type de jointure. Ici Inner (Only matching Rows) car il faut une correspondance stricte entre les clés sur Table1 &amp; Table2<div style="text-align: center;"><font color="#0000cd">L'option sélectionnée est déterminante, donc la maîtrise du concept de jointure est essentielle pour obtenir le résultat escompté<br />
<br />
</font>On obtient la nouvelle table qui a été renommée DataMerge via le champ Nam</div> <br />
<br />
 <img src="https://www.developpez.net/forums/attachments/p666523d1744645340/c-cpp/c/recuperer-nom-d-fichier/merge3.png/" border="0" alt="Nom : Merge3.png
Affichages : 62
Taille : 84,8 Ko"  style="float: CONFIG" /><br />
<br />
Puis cliquer sur l'icône <img src="https://www.developpez.net/forums/attachments/p666525d1744645748/c-cpp/c/recuperer-nom-d-fichier/merge4.png/" border="0" alt="Nom : Merge4.png
Affichages : 61
Taille : 2,7 Ko"  style="float: CONFIG" /> <br />
<br />
<img src="https://www.developpez.net/forums/attachments/p666526d1744646095/c-cpp/c/recuperer-nom-d-fichier/merge5.png/" border="0" alt="Nom : Merge5.png
Affichages : 58
Taille : 59,6 Ko"  style="float: CONFIG" /><br />
<br />
Les Colonnes de table2 sont préfixées de AddCol2<br />
 <img src="https://www.developpez.net/forums/attachments/p666527d1744646377/c-cpp/c/recuperer-nom-d-fichier/merge6.png/" border="0" alt="Nom : Merge6.png
Affichages : 58
Taille : 53,4 Ko"  style="float: CONFIG" /><br />
<br />
Il faut supprimer le préfixe AddCol2 dans le code généré et pour le champ id ajouté 2 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 php :</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:96px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><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 /></div></td><td valign="top"><pre style="margin: 0">let
    Source = Table.NestedJoin<span class="br0">&#40;</span>Table1, <span class="br0">&#123;</span><span style="color: #FF0000;">&quot;A&quot;</span>, <span style="color: #FF0000;">&quot;B&quot;</span>,<span style="color: #FF0000;">&quot;C&quot;</span><span class="br0">&#125;</span>, Table2, <span class="br0">&#123;</span><span style="color: #FF0000;">&quot;A&quot;</span>, <span style="color: #FF0000;">&quot;B&quot;</span>,<span style="color: #FF0000;">&quot;C&quot;</span><span class="br0">&#125;</span>, <span style="color: #FF0000;">&quot;AddCol2&quot;</span>, JoinKind.Inner<span class="br0">&#41;</span>,
    <span style="color: #339933;">#&quot;Expanded AddCol2&quot; = Table.ExpandTableColumn(Source, &quot;AddCol2&quot;, {&quot;R5&quot;, &quot;R6&quot;, &quot;R7&quot;, &quot;R8&quot;, &quot;id&quot;}, {&quot;AddCol2.R5&quot;, &quot;AddCol2.R6&quot;, &quot;AddCol2.R7&quot;, &quot;AddCol2.R8&quot;, &quot;AddCol2.id&quot;})</span>
in
    <span style="color: #339933;">#&quot;Expanded AddCol2&quot;</span></pre></td></tr></table></pre>
</div> <br />
Ce qui donne <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:36px;">  #&quot;Expanded AddCol2&quot; = Table.ExpandTableColumn(Source, &quot;AddCol2&quot;,  {&quot;R5&quot;, &quot;R6&quot;, &quot;R7&quot;, &quot;R8&quot;, &quot;id&quot;}, {&quot;R5&quot;, &quot;R6&quot;,  &quot;R7&quot;, &quot;R8&quot;, &quot;id2&quot;})</pre>
</div><img src="https://www.developpez.net/forums/attachments/p666529d1744646930/c-cpp/c/recuperer-nom-d-fichier/merge7.png/" border="0" alt="Nom : Merge7.png
Affichages : 59
Taille : 36,0 Ko"  style="float: CONFIG" /><br />
<br />
C'est maintenant Ta Minute M</blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10691/minute-m-creation-d-1-table-fusion-2-tables-colonnes-differentes-meme-cle-multicolonnes/</guid>
		</item>
		<item>
			<title>Ma Minute M - Modification dynamique des valeurs en erreurs par null List.Accumulate vs List.Zip</title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10690/minute-m-modification-dynamique-valeurs-erreurs-null-list-accumulate-vs-list-zip/</link>
			<pubDate>Sat, 12 Apr 2025 22:49:01 GMT</pubDate>
			<description>*Objectif* 
Modifier ...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><font color="#800000"><b>Objectif</b></font><br />
Modifier  dynamiquement  les valeurs en erreur dans les colonnes passées en paramètre<br />
<br />
<font color="#800000"><b>Source</b></font><br />
Fichier Excel <a href="https://www.developpez.net/forums/attachments/p666476d1744542153/general-developpement/algorithme-mathematiques/algorithmes-structures-donnees/appeler-fonction-parentheses/datatest.xlsx/"  title="Nom : DataTest.xlsx
Affichages : 168
Taille : 15,5 Ko">DataTest.xlsx</a><br />
<br />
<font color="#800000"><b>Solution </b></font><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 php :</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 /></div></td><td valign="top"><pre style="margin: 0">let
    Source = Excel.Workbook<span class="br0">&#40;</span>File.Contents<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;C:<span style="color: #800000;">\_</span>Paul<span style="color: #800000;">\P</span>owerBI<span style="color: #800000;">\G</span>oodly<span style="color: #800000;">\D</span>ataTest.xlsx&quot;</span><span class="br0">&#41;</span>, <span style="color: #0080ff;">null</span>, <span style="color: #0080ff;">true</span><span class="br0">&#41;</span>,
    Data_Table = Source<span class="br0">&#123;</span><span class="br0">&#91;</span>Item=<span style="color: #FF0000;">&quot;Data&quot;</span>,Kind=<span style="color: #FF0000;">&quot;Table&quot;</span><span class="br0">&#93;</span><span class="br0">&#125;</span><span class="br0">&#91;</span>Data<span class="br0">&#93;</span>,
    <span style="color: #339933;">#&quot;Changed Type&quot; = Table.TransformColumnTypes(Data_Table,{{&quot;Id&quot;, type text}, {&quot;Col1&quot;, type text}, {&quot;Col2&quot;, type any}, {&quot;Col3&quot;, type any}, {&quot;Valeur&quot;, type text},  {&quot;Commentaire&quot;, type text}}),</span>
    <span style="color: #339933;">#&quot;Remove list col&quot; = </span>
        let listCol = Table.ColumnNames<span class="br0">&#40;</span> <span style="color: #339933;">#&quot;Changed Type&quot;),</span>
            tblColName = Table.FromList<span class="br0">&#40;</span>listCol,<span style="color: #0080ff;">null</span><span class="br0">&#41;</span>,
            tblColNameSelection = Table.SelectRows<span class="br0">&#40;</span>tblColName, each <span class="br0">&#91;</span>Column1<span class="br0">&#93;</span> = <span style="color: #FF0000;">&quot;Id&quot;</span> <span style="color: #0000ff;">or</span> Text.StartsWith<span class="br0">&#40;</span><span class="br0">&#91;</span>Column1<span class="br0">&#93;</span>, <span style="color: #FF0000;">&quot;Col&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>,
            lstColNameSelection = tblColNameSelection<span class="br0">&#91;</span>Column1<span class="br0">&#93;</span>,
            tblFinal = Table.SelectColumns<span class="br0">&#40;</span><span style="color: #339933;">#&quot;Changed Type&quot;,lstColNameSelection)</span>
        in <span style="color: #339933;">#&quot;tblFinal&quot;,</span>
<span style="color: #339933;">#&quot;Remove Error&quot; = let</span>
        listCol = Table.ColumnNames<span class="br0">&#40;</span> <span style="color: #339933;">#&quot;Remove list col&quot;)</span>
        <span style="color: #808080;">//,tblRemoveErr = List.Accumulate(listCol, #&quot;Remove list col&quot;, (anyOutFirst, anyListCurr) =&gt; Table.ReplaceErrorValues (anyOutFirst, {{anyListCurr, null}}))     </span>
        ,tblRemoveErr = Table.ReplaceErrorValues<span class="br0">&#40;</span><span style="color: #339933;">#&quot;Remove list col&quot;,List.Zip({listCol,{null}}))</span>
        in tblRemoveErr
in
    <span style="color: #339933;">#&quot;Remove Error&quot;</span></pre></td></tr></table></pre>
</div><br />
<font size="3"><font color="#800000"><b>Analyse<br />
<br />
</b></font></font><br />
<ul><li style="">#&quot;Remove Error&quot; = // Objet Conteneur du résultat du traitement de l'étape qui donne son libellé à l'étape</li><li style="">let // Obligatoire si traitement sur plusieurs commandes<br />
<ul><li style="">listCol = Table.ColumnNames( #&quot;Remove list col&quot;) // Création d'un objet liste avec les nom de colonne de la Table source #&quot;Remove list col&quot;</li><li style="">/* ------------------------------------------------------------------------------------------<br />
               Choisir une des 2 solutions ci-dessous  <br />
               Solution 1 =&gt; List.Accumulate<br />
               Solution 2 =&gt; List.Zip</li><li style=""> --------------------------------------------------------------------------------------------- */</li><li style="">,tblRemoveErr = List.Accumulate(listCol, #&quot;Remove list col&quot;,  (anyOutFirst, anyListCurr) =&gt; Table.ReplaceErrorValues (anyOutFirst,  {{anyListCurr, null}}))   // Solution avec List.Accumulate</li><li style="">,tblRemoveErr = Table.ReplaceErrorValues(#&quot;Remove list col&quot;,List.Zip({listCol,{null}})) // Solution avec List.Zip<br />
<font color="#0000cd"><b>ASTUCE </b></font>:<b><font color="#0000cd"> List.Zip</font></b> créée une liste composée de sous listes correspondant à la concaténation du tuple d'items de même indice dans les listes passées en paramètres <br />
ExempleList.Zip( {1,2}, {&quot;a&quot;, &quot;b&quot;}) =&gt; {{1, &quot;a&quot;}, {2,&quot;b&quot;}}</li><li style="">in tblRemoveErr // Obligatoire avec Let </li></ul><br /></li><li style="">in #&quot;Remove Error&quot; // Pour affichage du traitement </li></ul><br />
 <br />
<font size="3"><font color="#800000"><b>Remerciements</b></font></font><br />
<ul><li style=""><a href="https://www.developpez.net/forums/u195240/mapeh/" target="_blank"><b>mapeh</b></a> : Membre de la communauté Developpez </li></ul><br />
<br />
<br />
C'est maintenant Votre Minute M</blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10690/minute-m-modification-dynamique-valeurs-erreurs-null-list-accumulate-vs-list-zip/</guid>
		</item>
		<item>
			<title>Ma Minute M - Garder que les colonnes ayant le même prefixe : Table.FromList+ SelectRows + Select</title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10689/minute-m-garder-colonnes-ayant-meme-prefixe-table-fromlistp-selectrows-p-select/</link>
			<pubDate>Sat, 12 Apr 2025 15:17:52 GMT</pubDate>
			<description>*Objectif * 
En une seule...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><b><font color="#800000">Objectif </font></b><br />
En une seule étape, afficher la table avec la colonne [Name] et toutes les colonnes commençant par [col]<br />
<br />
<div class="cms_table"><table class="cms_table"><tr valign="top" class="cms_table_tr"><TD align="center" class="cms_table_td"><font color="#0000cd"><b>Id</b></font></TD>
<TD align="center" class="cms_table_td"><font color="#0000cd"><b>Col1</b></font></TD>
<TD align="center" class="cms_table_td"><font color="#0000cd"><b>Col2</b></font></TD>
<TD align="center" class="cms_table_td"><font color="#0000cd"><b>Col3</b></font></TD>
</tr>
</table></div>
<br />
<b><font color="#800000">Data</font></b><br />
Fichier Excel avec les colonnes suivantes<br />
<br />
<div class="cms_table"><table class="cms_table"><tr valign="top" class="cms_table_tr"><TD align="center" class="cms_table_td"><font color="#0000cd"><b>Id</b></font></TD>
<TD align="center" class="cms_table_td"><font color="#0000cd"><b>Col1</b></font></TD>
<TD width="60" align="center" class="cms_table_td"><font color="#0000cd"><b>Col2</b></font></TD>
<TD width="60" align="center" class="cms_table_td"><font color="#0000cd"><b>Col3</b></font></TD>
<TD width="60" align="center" class="cms_table_td"><font color="#0000cd"><b>Valeur</b></font></TD>
<TD width="60" align="center" class="cms_table_td"><font color="#0000cd"><b>Commentaire</b></font></TD>
</tr>
</table></div>
<br />
<br />
<b><font color="#800000">Code<br />
</font></b><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 php :</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:192px;"><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 /></div></td><td valign="top"><pre style="margin: 0">let
    Source = Excel.Workbook<span class="br0">&#40;</span>File.Contents<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;C:<span style="color: #800000;">\s</span>ource.xlsx&quot;</span><span class="br0">&#41;</span>, <span style="color: #0080ff;">null</span>, <span style="color: #0080ff;">true</span><span class="br0">&#41;</span>,
    Data_Table = Source<span class="br0">&#123;</span><span class="br0">&#91;</span>Item=<span style="color: #FF0000;">&quot;Data&quot;</span>,Kind=<span style="color: #FF0000;">&quot;Table&quot;</span><span class="br0">&#93;</span><span class="br0">&#125;</span><span class="br0">&#91;</span>Data<span class="br0">&#93;</span>,
    <span style="color: #339933;">#&quot;Changed Type&quot; = Table.TransformColumnTypes(Data_Table,{{&quot;Name&quot;, type text}, {&quot;Col1&quot;, type text}, {&quot;Col2&quot;, type any}, {&quot;Col3&quot;, type any}, {&quot;Valeur&quot;, type text}, {&quot;Commentaire&quot;, type text}}),</span>
    <span style="color: #339933;">#&quot;Remove list col&quot; = </span>
        let listCol = Table.ColumnNames<span class="br0">&#40;</span> <span style="color: #339933;">#&quot;Changed Type&quot;),</span>
            tblColName = Table.FromList<span class="br0">&#40;</span>listCol,<span style="color: #0080ff;">null</span><span class="br0">&#41;</span>,
            tblColNameSelection = Table.SelectRows<span class="br0">&#40;</span>tblColName, each <span class="br0">&#91;</span>Column1<span class="br0">&#93;</span> = <span style="color: #FF0000;">&quot;Name&quot;</span> <span style="color: #0000ff;">or</span> Text.StartsWith<span class="br0">&#40;</span><span class="br0">&#91;</span>Column1<span class="br0">&#93;</span>, <span style="color: #FF0000;">&quot;Col&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>,
            lstColNameSelection = tblColNameSelection<span class="br0">&#91;</span>Column1<span class="br0">&#93;</span>,
            tblFinal = Table.SelectColumns<span class="br0">&#40;</span><span style="color: #339933;">#&quot;Changed Type&quot;,lstColNameSelection)</span>
        in <span style="color: #339933;">#&quot;tblFinal&quot;</span>
in
   <span style="color: #339933;">#&quot;Remove list col&quot;</span></pre></td></tr></table></pre>
</div><br />
Analysons l'étape #&quot;Remove list col&quot; qui répond à l'objectif<br />
<br />
<ul><li style="">let  =&gt; obligatoire si une étape est composée de plus d'une commande<br />
<ul><li style="">.</li></ul><br /></li><li style="">listCol = Table.ColumnNames( #&quot;Changed Type&quot;),<br />
<ul><li style="">Donne la liste des colonnes d'une table donnée en paramètre dans un objet List à 1 colonne</li></ul><br /></li><li style="">tblColName = Table.FromList(listCol,null),<br />
<ul><li style="">Transforme une liste en table dans l'objectif de faire une sélection des lignes dont la valeur commence par [col]. Cette méthode n'existe pas pour un objet List.</li><li style="">Null car il n'y a qu'une seule colonne donc pas de séparateur pour identifier la fin d'une colonne</li></ul><br /></li><li style="">tblColNameSelection = Table.SelectRows(tblColName, each [Column1] = &quot;Name&quot; or Text.StartsWith([Column1], &quot;Col&quot;)),<br />
<ul><li style="">Sélection des lignes dont la valeur commence par [col] ou égale à [Name]</li><li style="">Permis car tblColName passé en paramètre est un objet table</li><li style=""><u><font color="#800080"><b>Astuce </b></font></u>: Pour obtenir le code, créer cette opération comme l'étape suivante à tblColName. il faut donc que tblColName soit en sortie =&gt; in tblColName</li></ul><br /></li><li style="">lstColNameSelection = tblColNameSelection[Column1],<br />
<ul><li style="">Transforme l'unique colonne de la table tblColNameSelection en objet List. <br />
La méthode est NomTable[NomColonne]</li></ul><br /></li><li style="">tblFinal = Table.SelectColumns(#&quot;Changed Type&quot;,lstColNameSelection)<br />
<ul><li style="">Sélection des colonnes à afficher (Conserver) en sortie du traitement</li></ul><br /></li><li style="">in #&quot;tblFinal&quot;<br />
<ul><li style="">Indique la source en sortie</li></ul><br />
   </li></ul><br />
 <br />
<b><font color="#800000">Source<br />
</font></b>chaine goodly 
<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/90atXaUhBec?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
<br />
<br />
C'est maintenant Ta Minute M</blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10689/minute-m-garder-colonnes-ayant-meme-prefixe-table-fromlistp-selectrows-p-select/</guid>
		</item>
		<item>
			<title>Google Chrome : Supprimer les données des sites à la fermeture de Chrome</title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10678/google-chrome-supprimer-donnees-sites-fermeture-chrome/</link>
			<pubDate>Fri, 28 Feb 2025 09:39:46 GMT</pubDate>
			<description>*Google aime vos données...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore"><div style="text-align: center;"><font size="4"><font color="#0000ff"><b><font size="5">Google aime vos données alors comment faire pour les supprimmer<br />
</font> <br />
</b></font></font></div>C'est donc dans sa logique de rendre peu accessible l'option de suppression des données à la fermeture de Chrome. Ayant dû un peu chercher, je partage !<br />
<br />
<br />
Au jour de la rédaction du post, voici le chemin d'accès à l'option<br />
<br />
<font color="#0000ff"><font size="3"><b>Paramètres <br />
</b></font></font><div style="margin-left:40px"><font color="#0000ff"><font size="3"><b>-&gt; Confidentialité et Sécurité <br />
</b></font></font></div><div style="margin-left:80px"><font color="#0000ff"><font size="3"><b>-&gt; paramètres de sites <br />
</b></font></font></div><div style="margin-left:120px"><font color="#0000ff"><font size="3"><b>-&gt; Paramètres de contenu supplémentaires <br />
</b></font></font></div><div style="margin-left:160px"><font color="#0000ff"><font size="3"><b>-&gt; Données des sites de l’appareil <br />
</b></font></font></div><div style="margin-left:200px"><font size="3"><b><font color="#0000ff">-&gt;<font size="3">Supprimer les données que les sites ont enregistrées sur votre appareil lorsque vous fermez toutes les fenêtres</font></font><br />
</b></font></div><font size="3"><b><br />
Plus rapide, copier coller ce lien directement dans  une page : </b></font><b><font size="4"><font color="#ff0000">chrome://settings/content/siteData</font></font></b><br />
<img src="https://www.developpez.net/forums/attachments/p664995d1740735027/c-cpp/c/fonction-gestion-temps/cookies1.jpg/" border="0" alt="Nom : cookies1.JPG
Affichages : 179
Taille : 146,0 Ko"  style="float: CONFIG" /><br />
<br />
<img src="https://www.developpez.net/forums/attachments/p664996d1740735061/c-cpp/c/fonction-gestion-temps/googlecookies2.jpg/" border="0" alt="Nom : googleCookies2.JPG
Affichages : 185
Taille : 128,0 Ko"  style="float: CONFIG" /><br />
<br />
<img src="https://www.developpez.net/forums/attachments/p664997d1740735086/c-cpp/c/fonction-gestion-temps/goolecookie3.jpg/" border="0" alt="Nom : gooleCookie3.JPG
Affichages : 170
Taille : 139,7 Ko"  style="float: CONFIG" /><br />
<br />
<br />
<font size="4">En dernier recours, possibilité de modifier la <font color="#ff0000"><b>BASE DE REGISTRE</b></font> (registry). Merci à la communauté   <a href="https://www.malekal.com/chrome-effacer-historique-donnees-navigation-fermeture/" target="_blank">IMALEKA (Source cliquez sur le lien)</a><br />
</font><br />
<br />
<font color="#686868"><br />
<b>Par une restriction (policies)</b><br />
<br />
Vous pouvez aussi configurer une restriction administrateur sur Google Chrome pour définir les données de navigation à supprimer lors de sa fermeture.<br />
Cela se passe dans <a href="https://www.malekal.com/registre-windows/" target="_blank">le registre Windows</a>.<br />
<br />
<ul><li style="">Sur votre clavier, appuyez sur les touches  + R</li><li style="">Puis saisissez <b><a href="https://www.malekal.com/regedit-editeur-du-registre-windows/" target="_blank">regedit</a></b> et <b>OK</b>. Plus de détails : <a href="https://www.malekal.com/acceder-au-registre-windows/" target="_blank">comment accéder au registre Windows</a></li></ul><br />
<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p664976d1740729100/c-cpp/c/fonction-gestion-temps/regedit-editeur.jpg/" border="0" alt="Nom : regedit-editeur.jpg
Affichages : 140
Taille : 32,8 Ko"  style="float: CONFIG" /><br />
<br />
<br />
<ul><li style="">Déroulez ensuite l’arborescence suivante : <b>HKEY_CURRENT_USER &gt; Software &gt; Policies</b></li><li style="">Puis faites un clic droit sur <b>Policies</b> et <b>Nouveau &gt; Clé</b></li><li style="">Nommez la nouvelle clé <b>Google</b></li></ul><br />
<b>&#8203;</b><br />
<br />
<br />
<ul><li style=""><img src="https://www.developpez.net/forums/attachments/p664977d1740729237/c-cpp/c/fonction-gestion-temps/regeditgoogle.jpg/" border="0" alt="Nom : RegEditGoogle.jpg
Affichages : 141
Taille : 38,5 Ko"  style="float: CONFIG" /></li></ul><br />
<br />
Répétez l’opération pour créer une nouvelle clé nommée <b>Chrome<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p664978d1740729265/c-cpp/c/fonction-gestion-temps/chrome-creer.jpg/" border="0" alt="Nom : Chrome-creer.jpg
Affichages : 137
Taille : 13,7 Ko"  style="float: CONFIG" /><br />
<br />
Puis dans le volet de droite, faites un clic droit <b>Nouveau &gt; Valeur D-Word 32 bits<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p664983d1740729965/c-cpp/c/fonction-gestion-temps/creer-2-.jpg/" border="0" alt="Nom : Creer-valeur (2).jpg
Affichages : 137
Taille : 17,5 Ko"  style="float: CONFIG" /><br />
</b></b><br />
<br />
<ul><li style="">Nommez la valeur <b>SyncDisabled<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p664980d1740729773/c-cpp/c/fonction-gestion-temps/chrome-effacer-donnees-navigation-fermeture.jpg/" border="0" alt="Nom : Chrome-effacer-donnees-navigation-fermeture.jpg
Affichages : 139
Taille : 63,5 Ko"  style="float: CONFIG" /><br />
<br />
</b></li><li style="">Double cliquez dessus et saisissez 1 comme donnée de valeur</li><li style="">Validez sur <b>OK</b></li></ul><br />
<b>&#8203;</b><br />
<br />
<img src="https://www.developpez.net/forums/attachments/p664981d1740729820/c-cpp/c/fonction-gestion-temps/chrome-effacer.jpg/" border="0" alt="Nom : Chrome-effacer.jpg
Affichages : 138
Taille : 26,8 Ko"  style="float: CONFIG" /><br />
<br />
Tout est maintenant prêt pour configurer une liste des types de données de navigation devant être supprimés lorsque l’utilisateur ferme toutes les fenêtres du navigateur internet Google Chrome.<br />
Voici les entrées possible :<br />
<br />
<div class="cms_table"><table width="931" class="cms_table"><tr valign="top" class="cms_table_tr"><TD class="cms_table_td"><b>Nom de la clé ClearBrowsingDataOnExitList</b></TD>
<TD class="cms_table_td"><b><b>Valeur de ClearBrowsingDataOnExitList</b></b></TD>
<TD class="cms_table_td"><b>Type de données de navigation à effacer</b></TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">1</TD>
<TD class="cms_table_td">browsing_history</TD>
<TD class="cms_table_td">Historique de navigation</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">2</TD>
<TD class="cms_table_td">download_history</TD>
<TD class="cms_table_td">Historique des téléchargements</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">3</TD>
<TD class="cms_table_td">cookies_and_other_site_data</TD>
<TD class="cms_table_td">Cookies et autres données des sites</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">4</TD>
<TD class="cms_table_td">cached_images_and_files</TD>
<TD class="cms_table_td">Images et fichiers en cache</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">5</TD>
<TD class="cms_table_td">password_signin</TD>
<TD class="cms_table_td">Connexion avec un mot de passe</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">6</TD>
<TD class="cms_table_td">autofill</TD>
<TD class="cms_table_td">Saisie automatique</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">7</TD>
<TD class="cms_table_td">site_settings</TD>
<TD class="cms_table_td">Paramètres des sites</TD>
</tr>
<tr valign="top" class="cms_table_tr"><TD class="cms_table_td">8</TD>
<TD class="cms_table_td">hosted_app_data</TD>
<TD class="cms_table_td">Données des applications hébergées</TD>
</tr>
</table></div>
<br />
<br />
Par exemple, vous souhaitez que les données de navigation d’historique et de cache internet soient supprimés.<br />
<br />
<ul><li style="">Sélectionnez la clé Chrome à gauche</li><li style="">Puis <b>Nouveau &gt; Clé</b></li><li style="">Nommez la valeur <b>ClearBrowsingDataOnExitList</b></li></ul><br />
<b>&#8203;</b><br />
<br />
<img src="https://www.developpez.net/forums/attachments/p664982d1740729861/c-cpp/c/fonction-gestion-temps/chrome-effacer-donnees.jpg/" border="0" alt="Nom : Chrome-effacer-donnees.jpg
Affichages : 138
Taille : 30,7 Ko"  style="float: CONFIG" /><br />
<br />
<br />
<ul><li style="">Puis dans le volet de droite, faites un clic droit <b>Nouveau &gt; Valeur chaîne</b></li></ul><br />
<img src="https://www.developpez.net/forums/attachments/p664979d1740729368/c-cpp/c/fonction-gestion-temps/creer-.jpg/" border="0" alt="Nom : Creer-valeur.jpg
Affichages : 137
Taille : 17,1 Ko"  style="float: CONFIG" /><br />
<br />
<br />
<ul><li style="">Saisissez comme nom de valeur <b>1</b> (se reporter au tableau)</li><li style="">Puis double cliquez dessus et saisissez ma valeur <b>browsing_history</b></li><li style="">Répétez l’opération pour créer la valeur 4 et comme valeur <b>cached_images_and_files</b></li></ul><br />
<b>&#8203;</b><br />
<br />
<img src="https://www.developpez.net/forums/attachments/p664984d1740730123/c-cpp/c/fonction-gestion-temps/chrome-effacer-donnees-2-.jpg/" border="0" alt="Nom : Chrome-effacer-donnees (2).jpg
Affichages : 135
Taille : 76,3 Ko"  style="float: CONFIG" /><br />
<img src="https://www.malekal.com/wp-content/uploads/2023/03/Chrome-effacer-donnees-navigation-fermeture-sghg-700x312.jpg" border="0" alt="" /><br />
</font></blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10678/google-chrome-supprimer-donnees-sites-fermeture-chrome/</guid>
		</item>
		<item>
			<title>Ma Minute M : Créer des lignes depuis des champs multi valués Table.ExpandListColumn Text.Split</title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10676/minute-m-creer-lignes-champs-multi-values-table-expandlistcolumn-text-split/</link>
			<pubDate>Sun, 23 Feb 2025 18:42:54 GMT</pubDate>
			<description><![CDATA[Il n'est pas rare de trouver...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Il n'est pas rare de trouver dans des sources de données au format Excel et autres, des champs avec des listes de valeurs. L'objectif est alors de créer une ligne supplémentaire par valeur de la liste. Un exemple vaut mieux qu'une longue explication alors illustration<br />
<br />
<b><font size="2">  La source de travail</font></b><br />
<img src="https://www.developpez.net/forums/attachments/p664788d1740337074/c-cpp/c/fonction-gestion-temps/champsmultivalues.jpg/" border="0" alt="Nom : champsMultivalués.JPG
Affichages : 335
Taille : 36,6 Ko"  style="float: CONFIG" /><br />
<br />
<br />
<b><font size="2"> Et l'objectif est celui-ci</font></b><br />
<img src="https://www.developpez.net/forums/attachments/p664789d1740337090/c-cpp/c/fonction-gestion-temps/champsmultivaluesresult.jpg/" border="0" alt="Nom : champsMultivaluésRésult.JPG
Affichages : 315
Taille : 33,9 Ko"  style="float: CONFIG" /><br />
<br />
<br />
<br />
Le langage M possède des fonctions extrêmement puissant pour réaliser cet opération. Il faut faire les opérations suivantes :<br />
<ol class="decimal"><li style="">Transformer les champs multivaluées en objet liste</li><li style="">Développer les champs avec des objets listes </li></ol><br />
<br />
 <b> Voici le code dans son entier</b><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 c :</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:192px;"><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 /></div></td><td valign="top"><pre style="margin: 0">let 
let 
Source = Excel.Workbook<span style="color: black;">&#40;</span>File.Contents<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;C:\Data<span style="color: #800000;">\F</span>ichier.xlsx&quot;</span><span style="color: black;">&#41;</span>, null, <span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span>,
DataTable = Source<span style="color: black;">&#123;</span><span style="color: black;">&#91;</span>Item=<span style="color: #FF0000;">&quot;Data&quot;</span>,Kind=<span style="color: #FF0000;">&quot;Table&quot;</span><span style="color: black;">&#93;</span><span style="color: black;">&#125;</span><span style="color: black;">&#91;</span>Data<span style="color: black;">&#93;</span>,
Typage = Table.TransformColumnTypes<span style="color: black;">&#40;</span>DataTable,<span style="color: black;">&#123;</span><span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Cost Item&quot;</span>, type text<span style="color: black;">&#125;</span>, <span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Value&quot;</span>, Int64.Type<span style="color: black;">&#125;</span>, <span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Location&quot;</span>, type text<span style="color: black;">&#125;</span>, <span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Business&quot;</span>, type text<span style="color: black;">&#125;</span>, <span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Department&quot;</span>, type text<span style="color: black;">&#125;</span><span style="color: black;">&#125;</span><span style="color: black;">&#41;</span>,
ListInCol = 
  let 
    tblWithList = Table.TransformColumns<span style="color: black;">&#40;</span>Typage,<span style="color: black;">&#123;</span><span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Location&quot;</span>, each Text.Split<span style="color: black;">&#40;</span>_,<span style="color: #FF0000;">&quot;,&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#125;</span>,<span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Business&quot;</span>, each Text.Split<span style="color: black;">&#40;</span>_,<span style="color: #FF0000;">&quot;,&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#125;</span>,<span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Department&quot;</span>, each Text.Split<span style="color: black;">&#40;</span>_,<span style="color: #FF0000;">&quot;,&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#125;</span> <span style="color: black;">&#125;</span> <span style="color: black;">&#41;</span>, anyOut = tblWithList
  in anyOut,
  ExpandLocation  = Table.ExpandListColumn<span style="color: black;">&#40;</span>ListInCol, <span style="color: #FF0000;">&quot;Location&quot;</span><span style="color: black;">&#41;</span>,
  ExpandBusiness = Table.ExpandListColumn<span style="color: black;">&#40;</span>ExpandLocation, <span style="color: #FF0000;">&quot;Business&quot;</span><span style="color: black;">&#41;</span>,
  ExpandDpt = Table.ExpandListColumn<span style="color: black;">&#40;</span>ExpandDpt, <span style="color: #FF0000;">&quot;Department&quot;</span><span style="color: black;">&#41;</span>
  in ExpandBusiness</pre></td></tr></table></pre>
</div><br />
 <font size="2"> <b> Les 3 premières lignes sont pour le chargement et le formatage du fichier</b></font><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 c :</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:72px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><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 /></div></td><td valign="top"><pre style="margin: 0">Source =  Excel.Workbook<span style="color: black;">&#40;</span>File.Contents<span style="color: black;">&#40;</span><span style="color: #FF0000;">&quot;C:\Data<span style="color: #800000;">\F</span>ichier.xlsx&quot;</span><span style="color: black;">&#41;</span>,  null, <span style="color: #0080ff;">true</span><span style="color: black;">&#41;</span>,
DataTable = Source<span style="color: black;">&#123;</span><span style="color: black;">&#91;</span>Item=<span style="color: #FF0000;">&quot;Data&quot;</span>,Kind=<span style="color: #FF0000;">&quot;Table&quot;</span><span style="color: black;">&#93;</span><span style="color: black;">&#125;</span><span style="color: black;">&#91;</span>Data<span style="color: black;">&#93;</span>,
Typage  = Table.TransformColumnTypes<span style="color: black;">&#40;</span>DataTable,<span style="color: black;">&#123;</span><span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Cost Item&quot;</span>, type text<span style="color: black;">&#125;</span>,  <span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Value&quot;</span>, Int64.Type<span style="color: black;">&#125;</span>, <span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Location&quot;</span>, type text<span style="color: black;">&#125;</span>, <span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Business&quot;</span>, type text<span style="color: black;">&#125;</span>,  <span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Department&quot;</span>, type text<span style="color: black;">&#125;</span><span style="color: black;">&#125;</span><span style="color: black;">&#41;</span>,</pre></td></tr></table></pre>
</div><br />
 <font size="2">  <b>il faut ensuite transformer les colonnes de la liste en objet Liste </b></font><br />
<br />
La  fonction qui permet de modifier les colonnes est Table.TransformColumns dont la définition est :<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 c :</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:84px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><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 /></div></td><td valign="top"><pre style="margin: 0">&lt;a href=<span style="color: #FF0000;">&quot;https://powerquery.how/table-transformcolumns/&quot;</span> target=<span style="color: #FF0000;">&quot;_blank&quot;</span>&gt;Table.TransformColumns&lt;/a&gt;<span style="color: black;">&#40;</span>  table as table, <span style="color: #808080;">// Source de donn&eacute;es</span>
   transformOperations as list, <span style="color: #808080;">// M&eacute;thode (fonction) appliqu&eacute;e aux colonnes  {{NommDeColonne1, m&eacute;thode1},...,{NommDeColonneN, m&eacute;thodeN}}</span>
   optional defaultTransformation as nullable function,<span style="color: #808080;">// Voir &lt;a href=&quot;https://powerquery.how/table-transformcolumns/&quot; target=&quot;_blank&quot;&gt;ici&lt;/a&gt;</span>
   optional missingField as nullable number <span style="color: #808080;">// Voir &lt;a href=&quot;https://powerquery.how/table-transformcolumns/&quot; target=&quot;_blank&quot;&gt;ici &lt;/a&gt;) as table</span></pre></td></tr></table></pre>
</div><br />
<br />
 <font size="2"> <b> Le code pour transformer chaque colonne en objet liste</b></font><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 c :</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:84px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><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 /></div></td><td valign="top"><pre style="margin: 0">ListInCol = 
  let 
     tblWithList = Table.TransformColumns<span style="color: black;">&#40;</span>Typage,<span style="color: black;">&#123;</span><span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Location&quot;</span>, each Text.Split<span style="color: black;">&#40;</span>_,<span style="color: #FF0000;">&quot;,&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#125;</span>,<span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Business&quot;</span>, each Text.Split<span style="color: black;">&#40;</span>_,<span style="color: #FF0000;">&quot;,&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#125;</span>,<span style="color: black;">&#123;</span><span style="color: #FF0000;">&quot;Department&quot;</span>, each Text.Split<span style="color: black;">&#40;</span>_,<span style="color: #FF0000;">&quot;,&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#125;</span> <span style="color: black;">&#125;</span> <span style="color: black;">&#41;</span>, anyOut = tblWithList
  in anyOut,</pre></td></tr></table></pre>
</div><br />
<br />
 <font size="2"> <b> Le code pour développer chaque colonne objet liste en ligne</b></font><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 c :</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:96px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><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 /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
ExpandLocation  = Table.ExpandListColumn<span style="color: black;">&#40;</span>ListInCol, <span style="color: #FF0000;">&quot;Location&quot;</span><span style="color: black;">&#41;</span>,
ExpandBusiness = Table.ExpandListColumn<span style="color: black;">&#40;</span>ExpandLocation, <span style="color: #FF0000;">&quot;Business&quot;</span><span style="color: black;">&#41;</span>,
ExpandDpt = Table.ExpandListColumn<span style="color: black;">&#40;</span>ExpandDpt, <span style="color: #FF0000;">&quot;Department&quot;</span><span style="color: black;">&#41;</span>
in ExpandBusiness</pre></td></tr></table></pre>
</div><br />
<font color="#006400"> <br />
  </font><font size="2"><b><font color="#006400">Code générique pour ne pas écrire </font></b></font><font size="2"><b><font color="#006400">les noms de colonnes </font></b></font><font size="2"><b><font color="#006400">en dur </font><br />
<br />
</b></font><div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code c :</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:192px;"><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 /></div></td><td valign="top"><pre style="margin: 0">ListInCol = 
  let 
    lstColName = Table.ColumnNames<span style="color: black;">&#40;</span>Typage<span style="color: black;">&#41;</span>
    ,lstFieldForExpand = List.Skip <span style="color: black;">&#40;</span>lstColName, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span> 
    ,tblWithList = Table.TransformColumns<span style="color: black;">&#40;</span> Typage,List.Transform<span style="color: black;">&#40;</span>lstFieldForExpand, each <span style="color: black;">&#123;</span>_, each Text.Split<span style="color: black;">&#40;</span>_,<span style="color: #FF0000;">&quot;,&quot;</span><span style="color: black;">&#41;</span><span style="color: black;">&#125;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>, anyOut = tblWithList
  in anyOut,
ColumnsExpanded = 
  let 
    lstColName = Table.ColumnNames<span style="color: black;">&#40;</span>Typage<span style="color: black;">&#41;</span> 
    ,lstFieldForExpand = List.Skip <span style="color: black;">&#40;</span>lstColName, <span style="color: #cc66cc;">2</span><span style="color: black;">&#41;</span>
    ,anyOut = List.Accumulate <span style="color: black;">&#40;</span>lstFieldForExpand , ListInCol, <span style="color: black;">&#40;</span>anyFirstOut, anyCurr<span style="color: black;">&#41;</span>=&gt; Table.ExpandListColumn<span style="color: black;">&#40;</span>anyFirstOut, anyCurr<span style="color: black;">&#41;</span> <span style="color: black;">&#41;</span>
  in anyOut 
in ColumnsExpanded</pre></td></tr></table></pre>
</div><br />
C'est maintenant Votre Minute M !</blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10676/minute-m-creer-lignes-champs-multi-values-table-expandlistcolumn-text-split/</guid>
		</item>
		<item>
			<title>Ma Minute M : Fonction récursive</title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10675/minute-m-fonction-recursive/</link>
			<pubDate>Sun, 23 Feb 2025 10:31:39 GMT</pubDate>
			<description>Le principe de la fonction...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Le principe de la fonction récursive, a priori c'est simple, elle s'appelle jusqu'à un test d'échappement !<br />
<br />
Voyons ça par un exemple simple, le calcul factoriel<br />
La factorielle d'un nombre n est <a href="https://www.dcode.fr/calcul-produit" target="_blank">le produit</a> des nombres entiers non nuls inférieurs ou égaux à n. La notation usuelle pour indiquer une factorielle est le point d'exclamation positionné après le nombre : la factorielle de n est notée n! =&gt; 4! = 1 x 2 x3 x 4 = 24<br />
<br />
Pour calculer la factorielle d'un nombre il y a une fonction &quot;Number.Factorial&quot;. La fonction récursive sera de calculer sur une liste de chiffres en paramètre, la factorielle à partir d'une position et pour une plage.<br />
Déclarons une liste test {1..4} = {1, 2, 3, 4} <br />
Quelle est la valeur si la position  = 2 et la plage = 2 ? Solution  Valeur en position 2 = 2 et plage = 2  &gt;  {2, 3} =&gt; Résultat 2 x 3 = 6 <br />
Quelle est la valeur si la position  = 3 et la plage = 2 ? Solution   Valeur en position 3 = 3 et plage = 2  &gt;  {3, 4} =&gt; Résultat 2 x 3  = 12<br />
Quelle est la valeur si la position  = 3 et la plage = 3 ? Solution   Valeur en position 3 = 3 et plage = 2  &gt;  {3, 4,5} =&gt; Résultat = Plage trop grande<br />
<br />
Le code maintenant <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:192px;"><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 /></div></td><td valign="top"><pre style="margin: 0">Let
    Source = {1..4},
    fxFactorial = (lstpNum as list, ipIdxStart as number, ipLoop as number, optional ipResult as number ) =&gt; 
         let
            iResult = if ipResult = null then lstpNum{ipIdxStart-1}  else lstpNum{ipIdxStart-1} * ipResult,
            anyOut = if List.Count(lstpNum)&gt; ipIdxStart  + ipLoop -2 then 
                        if  ipLoop &gt; 1  then  @fxFactorial (lstpNum, ipIdxStart+1, ipLoop -1 , iResult) else iResult
                     else &quot;Range too large&quot;
          in
 anyOut   ,
    Factorial = fxFactorial(Source,3, 2)
in
   Factoriall</pre></td></tr></table></pre>
</div> Source = {1..4}, //Déclaration de la liste de nombre pour simplifier l'exemple<br />
 <br />
<ul><li style="">fxFactorial = (lstpNum as list, ipIdxStart as number, ipLoop as number, optional ipResult as number ) =&gt; // Déclaration de la fonction avec 4 paramètres<br />
<ol class="decimal"><li style="">lstpNum as list = La liste source</li><li style="">ipIdxStart  = La positon de départ. Attention les listes sont indexées à partir de 0 dans M. Donc la position 1  =&gt;  Index  = 0</li><li style="">ipLoop  = Plage de calcul</li><li style="">ipResult  = Résultat de la fonction à passer en paramètre qu'après un 1er calcul et pour une plage&gt; 1 </li></ol><br />
              </li></ul><br />
<br />
Le code <br />
<br />
Remarques préalables : <br />
<ol class="decimal"><li style="">Pour appeler une fonction récursive, il faut la préfixer avec @ =&gt; @MaFonctionRecursive</li><li style="">L'assignation à des variables nécessite la déclaration Let ... in </li></ol><br />
<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:36px;">  iResult = if ipResult = null then lstpNum{ipIdxStart-1}  else lstpNum{ipIdxStart-1} * ipResult, // Multiplication de la valeur passée en paramètre  x valeur de la liste en position -1 car indexation à  0</pre>
</div><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:72px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><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 /></div></td><td valign="top"><pre style="margin: 0">anyOut = if List.Count(lstpNum)&gt; ipIdxStart  + ipLoop -2 then // Si le calcul est dans la plage alors 
 if ipLoop &gt; 1  then  @fxFactorial (lstpNum, ipIdxStart+1, ipLoop -1 , iResult) else iResult // Si nombre d'appels n'est pas atteint alors appel la fonction avec les paramètres reçus (+1 pour ipIdxStart, -1 pour ipLoop )
 else &quot;Range too large&quot; // Message d'erreur si calcul hors plage</pre></td></tr></table></pre>
</div><br />
<img src="https://www.developpez.net/forums/attachments/p664778d1740306157/c-cpp/c/recuperer-nom-d-fichier/fonctionrecursive.jpg/" border="0" alt="Nom : FonctionRecursive.JPG
Affichages : 66
Taille : 13,5 Ko"  style="float: CONFIG" /><br />
<br />
C'est maintenant Votre Minute M</blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10675/minute-m-fonction-recursive/</guid>
		</item>
		<item>
			<title>Ma Minute M  :  Table.ReplaceValue 3 paramètres dans la fonction personnalisée (custom function)</title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10669/minute-m-table-replacevalue-3-parametres-fonction-personnalisee-custom-function/</link>
			<pubDate>Sun, 16 Feb 2025 23:35:30 GMT</pubDate>
			<description>Table.RepalceValue cest pas...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Table.RepalceValue cest pas si simple que <a href="https://learn.microsoft.com/fr-fr/powerquery-m/table-replacevalue" target="_blank">ça </a>!<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:120px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><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 /></div></td><td valign="top"><pre style="margin: 0"><b><a href="https://powerquery.how/table-replacevalue/" target="_blank">Table.ReplaceValue</a></b> (
   table as table,                  // Param 1
   oldValue as any,               // Param 2
   newValue as any,             //Param3
   replacer as function,        // Param 4
   columnsToSearch as list   // Param 5
) as table</pre></td></tr></table></pre>
</div> <br />
<b><font size="4">replacer est une fonction avec 2 méthodes natives toutes deux CASE SENSITIVE.</font></b><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:72px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><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 /></div></td><td valign="top"><pre style="margin: 0">
<font size="2"><b><a href="https://powerquery.how/replacer-replacetext/" target="_blank">Replacer.ReplaceText</a></b></font> ( text as nullable text, old as text, new as text, ) as nullable text
<b><a href="https://powerquery.how/replacer-replacevalue/" target="_blank">Replacer.ReplaceValue </a></b>( value as any, old as any, new as any, ) as any</pre></td></tr></table></pre>
</div><font size="4"><b><br />
 <font size="2">Illustration par l'exemple </font></b></font><font size="3"><br />
<br />
</font><font size="4"><font size="2">Avec ces deux méthodes natives, l'implémentation de Table.ReplaceValue est très simple.<br />
</font></font><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:108px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><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 /></div></td><td valign="top"><pre style="margin: 0">Table.ReplaceValue(TableSource,&quot;Green&quot;, &quot;Yellow&quot;, Replacer.ReplaceValue, {&quot;Col1&quot;,&quot;Col4&quot;, &quot;Col10&quot;} ) 

/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Avec <a href="https://powerquery.how/replacer-replacetext/" target="_blank">Replacer.ReplaceText</a>, chaque instance de «Green»en «Yellow» dans les colonnes 1,4 &amp; 10 de la TableSource.
 Attention c'est CASE SENSITIVE donc si «Green» apparaît en  minuscule, aucun changement ne sera apporté
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/</pre></td></tr></table></pre>
</div><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:120px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><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 /></div></td><td valign="top"><pre style="margin: 0">Table.ReplaceValue(TableSource,&quot;Green&quot;, &quot;Yellow&quot;, Replacer.ReplaceValue, {&quot;Col1&quot;,&quot;Col4&quot;, &quot;Col10&quot;} ) 

/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Avec <a href="https://powerquery.how/replacer-replacevalue/" target="_blank">Remplacer.replacevalue</a><a href="https://powerquery.how/replacer-replacetext/" target="_blank">t</a>, échange uniquement le texte «Green»en «Yellow» lorsque la valeur entière  correspond à «Green».
Par conséquent, seules les cellules contenant  exactement «Green» seront mises à jour dans les colonnes 1,4 &amp; 10 de la TableSource.
 Attention c'est CASE SENSITIVE donc si «Green» apparaît en  minuscule, aucun changement ne sera apporté.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/</pre></td></tr></table></pre>
</div>avec <br />
  <font size="4"><b>Maintenant rentronsdans le dur, la création d'une méthode personnalisée (custom function) !<br />
<br />
</b></font>Il est possible de créer une nouvelle méthode à <b>replacer </b>(Param 4). La logique est alors de <br />
<br />
<ul><li style="">Déclarer dans param 4 la nouvelle méthode par (customParam1 1, customparam2, customparam3) =&gt; Code de la fonction.<br />
<ul><li style="">Toujours passer 3 paramètres à cette méthode. . Mon explication (?), la définition des 2 méthodes natives de Replacer en est la raison.<br />
<ul><li style="">customParam1  = Param 5</li><li style="">customparam2 = Param 2</li><li style=""> customparam3 = Param 3 </li></ul><br /></li><li style=""><i>null </i>est possible</li><li style="">Le mauvais nombre de paramètres ne génère pas d'erreur mais ne produit aucun résultat. </li></ul><br /></li><li style="">Déclarer each _ dans Param 2 ou 3 pour que la boucle de traitement de chaque ligne de la table soit initié.<br />
<ul><li style="">Cela initie un contexte Table qui fait que le code de la méthode est appliqué sur la ligne courante de la table </li></ul><br />
           </li></ul><br />
<br />
<font size="4"><b> <font size="2">Illustration par l'exemple </font></b></font><font size="3"><br />
<br />
<font size="2">Jeu de données<br />
<br />
<i>id;Nom;Acronyme;PrixUnitaire;Capitalisation;Volume;Change;Circulating Supply<br />
101;Axie InfinityAXS;AXS;$4.14;$655.86M$655,857,137;$40,023,9589,704,320 AXS;1.84%;158,370,660 AXS<br />
102;SPXspx6900;SPX;$0.6886;$641.06M$641,058,365;$44,378,25663,621,008 SPX;13.53%;930,993,090 SPX<br />
103;StarknetSTRK;STRK;$0.2513;$648.99M$648,986,439;$48,450,884193,403,578 STRK;0.56%;2,582,076,158 STRK<br />
104;DecentralandMANA;MANA;$0.3313;$643.38M$643,383,978;$76,646,727232,079,704 MANA;2.08%;1,942,255,184 MANA<br />
105;RONRonin;RON;$1.02;$628.71M$628,705,705;$22,505,880ron 22,223,092;0.99%;619,389,699 RON<br />
106;MultiversXEGLD;EGLD;$22.00;$612.39M$612,389,127;$29,738,1541,353,183 EGLD;1.98%;27,838,236 EGLD<br />
107;PolygonMATIC;MATIC;$0.3139;$600.77M$600,773,793;$10,937,02234,963,283 MATIC;1.93%;1,913,783,718 MATIC<br />
108;PAX GoldPAXG;PAXG;$2,881.12;$586.42M$586,418,035;$58,331,00920,222 PAXG;1.22%;203,538 PAXG<br />
109;DeepBook ProtocolDEEP;DEEP;$0.2067;$593.62M$593,621,074;$39,922,772195,895,468 DEEP;7.98%;2,872,000,000 DEEP<br />
110;HeliuhNTm;HNT;$3.28;$581.88M$581,878,946;$7,830,4022,400,147 HNT;2.38%;177,394,590 HNT</i><br />
<br />
<br />
</font></font><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:180px;"><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 /></div></td><td valign="top"><pre style="margin: 0"><font size="3"><font size="2">= Table.ReplaceValue( #&quot;Ma table source&quot;, each _ , null,<div style="margin-left:40px">(col,row,z) =&gt; </div></font></font><div style="margin-left:40px"><font size="3"><font size="2">let 
</font></font></div><div style="margin-left:80px"><font size="3"><font size="2">lstPos = Text.PositionOf(col,row[Acronyme],Occurrence.All,Comparer.OrdinalIgnoreCase),
</font></font>strNewValue = lstPos</div><div style="margin-left:40px"><font size="3"><font size="2"> in </font></font>strNewValue <font size="3"><font size="2">,
</font></font></div><font size="3"><font size="2">{&quot;Nom&quot;, &quot;Volume&quot;, &quot;Circulating Supply&quot;})

</font></font>/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

<ul><li style="">Let..in pour permettre l'affectation de variables</li><li style="">Le contexte est donné par each _ = La ligne de la table, par conséquent puisque each _ est le param2, c'est une ligne qui est passé à customParam2.</li><li style="">Attention : Le contexte est aussi donné par customParam1 = param5 <font size="3"><font size="2">{&quot;Nom&quot;, &quot;Volume&quot;, &quot;Circulating Supply&quot;}
</font></font></li><li style=""><font size="3"><font size="2"> Au final le contexte est  la ligne pour un champ du param5
</font></font></li><li style="">Il est ainsi possible d'accéder à tous les champs de la ligne par le customParamX[Nom de la colone] qui recoit each _, dans l'exemple pour accéder à la valeur d'Acromyme de la ligne c'est row[Acronyme] </li></ul>
 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/</pre></td></tr></table></pre>
</div><img src="https://www.developpez.net/forums/attachments/p664546d1739750560/c-cpp/c/fonction-gestion-temps/list.png/" border="0" alt="Nom : list.png
Affichages : 68
Taille : 18,6 Ko"  style="float: CONFIG" /><br />
<br />
C'est fini !</blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10669/minute-m-table-replacevalue-3-parametres-fonction-personnalisee-custom-function/</guid>
		</item>
		<item>
			<title>EXCEL VBA - Chargement de données avec QueryTables</title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10541/excel-vba-chargement-donnees-querytables/</link>
			<pubDate>Tue, 24 Oct 2023 05:56:44 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>informer</strong>
					<a href="showthread.php?p=11979679#post11979679" rel="nofollow"><img class="inlineimg" src="https://forum.developpez.be/images/buttons/viewpost-right.png" alt="Voir le message" /></a>
				</div>
				<div class="message"><font size="4"><br />
<font color="#B22222"><b><br />
QueryTables très bien expliqué dans une vidéo de WISE OWL et très pédagogique <br />
</b></font><br />
<br />
<b><font color="#0000FF"><br />

<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/ZrPEAljQjRM?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
<br />
</font></b><br />
<br />
Lien supplémentaire vers la page Microsoft  <b><font color="#0000FF"><a href="https://learn.microsoft.com/fr-fr/office/vba/api/excel.querytable" target="_blank">Microsoft excel.querytable</a></font></b><br />
<br />
</font></div>
			
		</div>
	</div>
</div></blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10541/excel-vba-chargement-donnees-querytables/</guid>
		</item>
		<item>
			<title><![CDATA[Acer Swift 3 - Bluetooth - Faire réapparaitre bouton d'activation disparu]]></title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10482/acer-swift-3-bluetooth-faire-reapparaitre-bouton-d-activation-disparu/</link>
			<pubDate>Mon, 15 May 2023 22:37:57 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>informer</strong>
					<a href="showthread.php?p=11945985#post11945985" rel="nofollow"><img class="inlineimg" src="https://forum.developpez.be/images/buttons/viewpost-right.png" alt="Voir le message" /></a>
				</div>
				<div class="message"><font color="#FF0000"><b><font size="4">Objectif :  faire réapparaitre le bouton d'activation Bluetooth disparu de paramètres -&gt; Bluetooth &amp; autres appareils</font></b></font><br />
<br />
<img src="https://www.developpez.net/forums/attachments/p638737d1684190153/c-cpp/c/remplacer-chaine-caracteres/bluetoothdisparu.png/" border="0" alt="Nom : bluetoothDisparu.png
Affichages : 1000
Taille : 125,9 Ko"  style="float: CONFIG" /><br />
<br />
<b><font size="4"><font color="#00FF00">SOLUTION</font></font></b><br />
<br />
J'ai repris la <b>solution </b>apporté le 26 octobre 2020 par <b><font size="4">Gaston Nanez</font></b> - Conseiller indépendant <a href="https://answers.microsoft.com/fr-fr/windows/forum/all/probl%C3%A8me-bluetooth-disparu/cb8c6d83-bdd7-4b66-ba7d-8233a0fd7cbd" target="_blank"><font size="4">Source ici</font></a> <br />
<br />
<br />
Le problème est probablement dû à un manque de mises à jour sur votre ordinateur ou à une corruption de fichier.<br />
<br />
Effectuez un démarrage propre de Windows (<b>facultatif</b>)<br />
<br />
<a href="https://support.microsoft.com/fr-fr/help/929135" target="_blank">https://support.microsoft.com/fr-fr/help/929135</a>...<br />
<br />
<br />
Effectuez une vérification des fichiers en ouvrant l'invite de commande (cmd) en mode administrateur et exécutez les commandes suivantes.<br />
<font size="4"><ul><li style="">sfc /scannow</li><li style="">dism.exe /online /cleanup-image /scanhealth</li><li style="">dism.exe /online /cleanup-image /restorehealth</li><li style="">dism.exe /online /cleanup-image /startcomponentcleanup</li></ul><br />
</font><br />
<br />
<b>Redémarrez votre ordinateur</b><br />
<br />
<img src="https://www.developpez.net/forums/attachments/p638738d1684190153/c-cpp/c/remplacer-chaine-caracteres/bluetoothok.png/" border="0" alt="Nom : bluetoothok.png
Affichages : 136
Taille : 154,4 Ko"  style="float: CONFIG" /><br />
<br />
Vérifiez les mises à jour disponibles sur votre ordinateur <b>(facultatif)</b> en appuyant sur Démarrer et accédez à Paramètres&gt; Mise à jour et sécurité&gt; Windows Update.<br />
<br />
Encore merci à Gaston Nanez</div>
			
		</div>
	</div>
</div></blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10482/acer-swift-3-bluetooth-faire-reapparaitre-bouton-d-activation-disparu/</guid>
		</item>
		<item>
			<title>Procédure stockée SQL Server avec paramètres optionnels</title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10414/procedure-stockee-sql-server-parametres-optionnels/</link>
			<pubDate>Tue, 06 Dec 2022 18:14:36 GMT</pubDate>
			<description>------------------------------...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<br />
<br />
Pour qu'un paramètre déclaré dans une procédure stockée soit optionnelle il faut la déclarer comme ci-dessous<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:36px;">@parmaName Type= NULL</pre>
</div>Et pour que le paramètre ne soit pas pris en compte quand il n'est pas passé en paramètre via EXEC, la syntaxe est la suivante<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:36px;">Predicat ( @parmaName is null or FieldName = @parmaName );</pre>
</div>C'était la partie théorique maintenant rien de mieux qu'un exemple pour illustration<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 />21<br />22<br />23<br />24<br />25<br />26<br />27<br /></div></td><td valign="top"><pre style="margin: 0">USE [AdventureWorksLT2019]
GO
/****** Object:  StoredProcedure [SalesLT].[spOrder]    Script Date: 06/12/2022 18:17:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- =============================================
CREATE /ALTER PROCEDURE [SalesLT].[spOrder]
    -- Add the parameters for the stored procedure here
   <font color="#ff0000"><b> @pFirstName NVARCHAR(MAX) = NULL</b></font>
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    --SELECT &lt;@Param1, sysname, @p1&gt;, &lt;@Param2, sysname, @p2&gt;

    SELECT DISTINCT SalesLT.Customer.FirstName
        , SalesLT.Customer.MiddleName
        , SalesLT.Customer.LastName
    FROM SalesLT.Customer
   <font color="#ff0000"><b> WHERE ( @pFirstName  is null or FirstName = @pFirstName);</b></font>
END</pre></td></tr></table></pre>
</div>Le résultat des 2 requêtes <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:84px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><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 /></div></td><td valign="top"><pre style="margin: 0">USE [AdventureWorksLT2019]
GO
EXEC SalesLT.spOrder;
EXEC SalesLT.spOrder &quot;Catherine&quot;;</pre></td></tr></table></pre>
</div><img src="https://www.developpez.net/forums/attachments/p630200d1670350424/logiciels/microsoft-office/access/ac97-conversion-access-2-access-97/procstockresultat.jpg/" border="0" alt="Nom : ProcStockRésultat.jpg
Affichages : 408
Taille : 144,5 Ko"  style="float: CONFIG" /></blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10414/procedure-stockee-sql-server-parametres-optionnels/</guid>
		</item>
		<item>
			<title><![CDATA[Ms Access - VBA - Contrôle Navigation - Affectation d'un formulaire]]></title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10290/ms-access-vba-controle-navigation-affectation-d-formulaire/</link>
			<pubDate>Mon, 31 Jan 2022 10:51:05 GMT</pubDate>
			<description>Pour changer de page, la...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Pour changer de page, la solution proposée est d'affecter à la propriété Source de l'objet (SourceObject), le nom du formulaire à afficher.<br />
<br />
Se rappeler que chaque sous-formulaire est encapsulé dans un objet conteneur (contenair)  et que pour accéder aux propriétés du sous-formulaire, il faut passer par ObjetConteneur.form (implicitement form = sous-formulaire)<br />
<br />
Dans un formulaire (frmMainNav) , il a un contrôle Navigation (ctnrNav). Pour affecter dynamiquement un formulaire( frmTest) dans le contrôle Navigation (ctnrNav), Il faut procéder ainsi<br />
<br />
Forms(&quot;frmMainNav&quot;)![ctnrNav].SourceObject = &quot;frmTest&quot;</blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10290/ms-access-vba-controle-navigation-affectation-d-formulaire/</guid>
		</item>
		<item>
			<title>Formulaire  - Tableau croisé dynamique</title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10288/formulaire-tableau-croise-dynamique/</link>
			<pubDate>Fri, 28 Jan 2022 16:49:12 GMT</pubDate>
			<description><![CDATA[Un code pour ce 
 
<div...]]></description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Un code pour ce<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 />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 /></div></td><td valign="top"><pre style="margin: 0">Public Function mfForm_AddControls()

    Dim oFrm As Form, _
        oText As Control, _
        oLabel As Control, _
        sFormName As String, _
        oRset As Recordset, _
        oField As Field, _
        lLeft As Long, _
        lTop As Long, _
        lWidth As Long, _
        lHight As Long, _
        i As Integer
    
    
    
    lLeft = 343
    lTop = 341
    lWidth = 2460
    lHight = 330


    sFormName = &quot;frmMoe_VRD_AnMois_CoutChtier&quot;
    
    DoCmd.OpenForm sFormName, acDesign
    Set oFrm = Forms(sFormName)
    
    Set oRset = CurrentDb.OpenRecordset(&quot;qryHeure_VRD_AnMois_CoutChtier&quot;)
    
    i = 0
    For Each oField In oRset.Fields
       '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       ' Creation de l'objet texte avant celui de l'objet lablel car sera le parent du label
       '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       Set oText = CreateControl(oFrm.Name, acTextBox, acDetail, , oField.Name, lLeft, lTop + ((lHight + 150) * i), lWidth, lHight)
       oText.Name = &quot;txt&quot; &amp; oField.Name

         '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       ' Creation de l'objet lablel dont le parent sera le'objet Texte
       '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
        Set oLabel = CreateControl(oFrm.Name, acLabel, acDetail, oText.Name, oField.Name, lLeft + lWidth + 150, lTop + ((lHight + 150) * i), lWidth, lHight)
        
        oLabel.Name = &quot;lbl&quot; &amp; oField.Name
        i = i + 1
        oRset.MoveNext
    Next
    
    
    DoCmd.OpenForm oFrm.Name, acFormPivotTable
    
End Function</pre></td></tr></table></pre>
</div></blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10288/formulaire-tableau-croise-dynamique/</guid>
		</item>
		<item>
			<title>REPLACE RegEx - Remplacer des caractères différents par un même caractère en un seul appel</title>
			<link>https://www.developpez.net/forums/blogs/347407-informer/b10283/replace-regex-remplacer-caracteres-differents-meme-caractere-seul-appel/</link>
			<pubDate>Tue, 18 Jan 2022 08:59:08 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>informer</strong>
					<a href="showthread.php?p=11359465#post11359465" 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 à tous,<br />
<br />
En vba, il existe une fonction native REPLACE(expression, find, replace, [ start, [ count, [ compare ]]]) <a href="https://docs.microsoft.com/en-us/office/vba/Language/Reference/User-Interface-Help/replace-function" target="_blank"><b>Voir ici pour plus d'information</b></a><br />
<br />
Toutefois, cette fonction ne peut remplacer qu'un seul caractère à la fois. donc dans l'éventualité d'un remplacement de différents caractères par un même caractère, rien de mieux que l'utilisation du RegEx. Le code suivant permet cette action!<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 />21<br />22<br />23<br />24<br />25<br />26<br /></div></td><td valign="top"><pre style="margin: 0">Public Function fRegExReplace(psValue As String, psPattern As String, psBy as string) As String

    Dim oRegExp As New regexp
    Dim sPattern As String,sValueCleaned As String
    
    If Nz(psValue) = &quot;&quot; Then GoTo Exit_
    
    'Set oRegExp = CreateObject(&quot;vbscript.regexp&quot;)
    
    With oRegExp
        .Global = True
        .MultiLine = True
        .IgnoreCase = False
        .Pattern = psPattern
        
        sValueCleaned = .Replace(Nz(psValue), psBy)
    
    End With
    
    fRegExReplace = sValueCleaned

Exit_:

    Set oRegExp = Nothing

End Function</pre></td></tr></table></pre>
</div>Exemple de remplacement en une seule passe des caractères <br />
<ul><li style="">ESPACES</li><li style="">[</li><li style="">]</li></ul><br />
par VIDE <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:36px;">sTextCleaned = fRegExReplace(sFieldName, &quot;\s|\[|\]&quot;,&quot;&quot;)</pre>
</div></div>
			
		</div>
	</div>
</div></blockquote>

]]></content:encoded>
			<dc:creator>informer</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/347407-informer/b10283/replace-regex-remplacer-caracteres-differents-meme-caractere-seul-appel/</guid>
		</item>
	</channel>
</rss>
