<?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 - VBA PowerPoint</title>
		<link>https://www.developpez.net/forums/</link>
		<description />
		<language>fr</language>
		<lastBuildDate>Sat, 18 Apr 2026 05:12:52 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.png</url>
			<title>Forum du club des développeurs et IT Pro - VBA PowerPoint</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title><![CDATA[[PPT-365] Supprimer une ligne d'un tableau de données d'un graphique Powerpoint (VBA)]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2179970&amp;goto=newpost</link>
			<pubDate>Mon, 20 Oct 2025 09:49:49 GMT</pubDate>
			<description><![CDATA[Bonjour à tous, 
 
j'ai un...]]></description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
j'ai un graphique dans Powerpoint lié à un tableau Excel (inclus dans Powerpoint).<br />
Comment faire pour (sur un clic d'un bouton par exemple) supprimer une ligne de mon tableau de données ?<br />
Autant en traitant ça sur Excel j'utilise les tutoriels de Laurent Ott, mais piloter Excel depuis Powerpoint me pose problème.<br />
<br />
Merci pour l'aide.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f682/logiciels/microsoft-office/powerpoint/vba-powerpoint/">VBA PowerPoint</category>
			<dc:creator>curt</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2179970/logiciels/microsoft-office/powerpoint/vba-powerpoint/supprimer-ligne-d-tableau-donnees-d-graphique-powerpoint-vba/</guid>
		</item>
		<item>
			<title><![CDATA[[PPT-365] Impasse code VBA complexe - Plus fort que chatGPT ?]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2176343&amp;goto=newpost</link>
			<pubDate>Tue, 22 Apr 2025 12:28:47 GMT</pubDate>
			<description>Bonjour !  
 
Cela fait...</description>
			<content:encoded><![CDATA[<div>Bonjour ! <br />
<br />
Cela fait quelques jours et quelques nuits que j'essaie de faire fonctionner ce code pour pouvoir corriger les éléments de ponctuation dans une présentation française.<br />
<br />
Le code et les transformations opérés sont un succès mais malheureusement, cela change l'apparence du texte modifié : le style du texte est modifié quand 2 mots ont un style différent (taille / graisse / etc) au sein d'une même zone de texte.<br />
<br />
Auriez-vous une solution pour que ces changements soient opérés dans le masque, dans les notes, dans les lsides et dans les tableaux, sans que la mise en forme source soit modifiée ?<br />
<br />
Un grand merci pour votre aide !<br />
<br />
<br />
Benjamin<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="40"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br />122<br />123<br />124<br />125<br />126<br />127<br />128<br />129<br />130<br />131<br />132<br />133<br />134<br />135<br />136<br />137<br />138<br />139<br />140<br />141<br />142<br />143<br />144<br />145<br />146<br />147<br />148<br />149<br />150<br />151<br />152<br />153<br />154<br />155<br />156<br />157<br />158<br />159<br />160<br />161<br />162<br />163<br />164<br />165<br />166<br />167<br />168<br />169<br />170<br />171<br />172<br />173<br />174<br />175<br />176<br />177<br />178<br />179<br />180<br />181<br />182<br />183<br />184<br />185<br />186<br />187<br />188<br />189<br />190<br />191<br />192<br />193<br />194<br />195<br />196<br />197<br />198<br />199<br />200<br />201<br />202<br />203<br />204<br />205<br />206<br />207<br />208<br />209<br />210<br />211<br />212<br />213<br />214<br />215<br />216<br />217<br />218<br />219<br />220<br />221<br />222<br />223<br />224<br />225<br />226<br />227<br />228<br />229<br />230<br />231<br />232<br />233<br />234<br />235<br />236<br />237<br />238<br />239<br />240<br />241<br />242<br />243<br />244<br />245<br />246<br />247<br />248<br />249<br />250<br />251<br />252<br />253<br />254<br />255<br />256<br />257<br />258<br />259<br />260<br />261<br />262<br />263<br />264<br />265<br />266<br />267<br />268<br />269<br />270<br />271<br />272<br />273<br />274<br />275<br />276<br />277<br />278<br />279<br />280<br />281<br />282<br />283<br />284<br />285<br />286<br />287<br />288<br />289<br />290<br />291<br />292<br />293<br />294<br />295<br />296<br />297<br />298<br />299<br />300<br />301<br />302<br />303<br />304<br />305<br />306<br />307<br />308<br />309<br />310<br />311<br />312<br />313<br />314<br />315<br />316<br />317<br />318<br />319<br />320<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">Sub</span> Clean_FR<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span style="color: #0000ff;">Dim</span> sld <span style="color: #0000ff;">As</span> slide, shp <span style="color: #0000ff;">As</span> shape, lay <span style="color: #0000ff;">As</span> CustomLayout
    <span style="color: #0000ff;">Dim</span> totalModifs <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>: totalModifs = <span style="color: #cc66cc;">0</span>
    <span style="color: #0000ff;">Dim</span> selectedShape <span style="color: #0000ff;">As</span> shape
&nbsp;
    <span style="color: #808080;">' V&eacute;rifier si une s&eacute;lection est active</span>
    <span style="color: #0000ff;">On</span> <span style="color: #0000ff;">Error</span> <span style="color: #0000ff;">Resume</span> <span style="color: #0000ff;">Next</span> <span style="color: #808080;">' Ignorer les erreurs si rien n'est s&eacute;lectionn&eacute;</span>
    <span style="color: #0000ff;">Set</span> selectedShape = ActiveWindow.Selection.ShapeRange<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>
    <span style="color: #0000ff;">On</span> <span style="color: #0000ff;">Error</span> <span style="color: #0000ff;">GoTo</span> <span style="color: #cc66cc;">0</span> <span style="color: #808080;">' R&eacute;activer la gestion des erreurs</span>
&nbsp;
    <span style="color: #0000ff;">If</span> <span style="color: #0000ff;">Not</span> selectedShape <span style="color: #0000ff;">Is</span> <span style="color: #0000ff;">Nothing</span> <span style="color: #0000ff;">Then</span>
        <span style="color: #808080;">' Si une forme est s&eacute;lectionn&eacute;e, appliquer la macro uniquement sur cette forme</span>
        totalModifs = CleanTextEmpirique<span class="br0">&#40;</span>selectedShape<span class="br0">&#41;</span>
    <span style="color: #0000ff;">Else</span>
        <span style="color: #808080;">' Sinon, appliquer la macro sur toutes les diapositives</span>
        <span style="color: #808080;">' Slides + Notes</span>
        <span style="color: #0000ff;">For</span> <span style="color: #0000ff;">Each</span> sld <span style="color: #0000ff;">In</span> ActivePresentation.Slides
            <span style="color: #0000ff;">For</span> <span style="color: #0000ff;">Each</span> shp <span style="color: #0000ff;">In</span> sld.Shapes
                totalModifs = totalModifs + CleanTextEmpirique<span class="br0">&#40;</span>shp<span class="br0">&#41;</span>
            <span style="color: #0000ff;">Next</span> shp
            <span style="color: #0000ff;">For</span> <span style="color: #0000ff;">Each</span> shp <span style="color: #0000ff;">In</span> sld.NotesPage.Shapes
                totalModifs = totalModifs + CleanTextEmpirique<span class="br0">&#40;</span>shp<span class="br0">&#41;</span>
            <span style="color: #0000ff;">Next</span> shp
        <span style="color: #0000ff;">Next</span> sld
&nbsp;
        <span style="color: #808080;">' Masque principal</span>
        <span style="color: #0000ff;">For</span> <span style="color: #0000ff;">Each</span> shp <span style="color: #0000ff;">In</span> ActivePresentation.slideMaster.Shapes
            totalModifs = totalModifs + CleanTextEmpirique<span class="br0">&#40;</span>shp<span class="br0">&#41;</span>
        <span style="color: #0000ff;">Next</span> shp
&nbsp;
        <span style="color: #808080;">' Layouts</span>
        <span style="color: #0000ff;">For</span> <span style="color: #0000ff;">Each</span> lay <span style="color: #0000ff;">In</span> ActivePresentation.slideMaster.CustomLayouts
            <span style="color: #0000ff;">For</span> <span style="color: #0000ff;">Each</span> shp <span style="color: #0000ff;">In</span> lay.Shapes
                totalModifs = totalModifs + CleanTextEmpirique<span class="br0">&#40;</span>shp<span class="br0">&#41;</span>
            <span style="color: #0000ff;">Next</span> shp
        <span style="color: #0000ff;">Next</span> lay
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #808080;">' Afficher un message avec le nombre de modifications</span>
    MsgBox totalModifs &amp; <span style="color: #FF0000;">&quot; modification(s) effectu&eacute;e(s).&quot;</span>, vbInformation, <span style="color: #FF0000;">&quot;Nettoyage typographique&quot;</span>
&nbsp;
    <span style="color: #808080;">' Appliquer la langue fran&ccedil;aise &agrave; tous les &eacute;l&eacute;ments apr&egrave;s nettoyage</span>
    ChangerLangueEnFrancais
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
<span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Function</span> CleanTextEmpirique<span class="br0">&#40;</span>shp <span style="color: #0000ff;">As</span> shape<span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>
    <span style="color: #0000ff;">Dim</span> i <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>, modifs <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>: modifs = <span style="color: #cc66cc;">0</span>
    <span style="color: #0000ff;">On</span> <span style="color: #0000ff;">Error</span> <span style="color: #0000ff;">Resume</span> <span style="color: #0000ff;">Next</span>
&nbsp;
    <span style="color: #0000ff;">If</span> shp.Type = msoGroup <span style="color: #0000ff;">Then</span>
        <span style="color: #0000ff;">For</span> i = <span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">To</span> shp.GroupItems.count
            modifs = modifs + CleanTextEmpirique<span class="br0">&#40;</span>shp.GroupItems<span class="br0">&#40;</span>i<span class="br0">&#41;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">Next</span> i
    <span style="color: #0000ff;">ElseIf</span> shp.Type = msoTable <span style="color: #0000ff;">Then</span>
        modifs = modifs + CleanTableText<span class="br0">&#40;</span>shp<span class="br0">&#41;</span>
    <span style="color: #0000ff;">ElseIf</span> shp.HasTextFrame <span style="color: #0000ff;">Then</span>
        <span style="color: #0000ff;">If</span> shp.TextFrame.HasText <span style="color: #0000ff;">Then</span>
            modifs = modifs + CleanTextRange<span class="br0">&#40;</span>shp.TextFrame.TextRange<span class="br0">&#41;</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
    CleanTextEmpirique = modifs
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
<span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Function</span> CleanTableText<span class="br0">&#40;</span>tblShp <span style="color: #0000ff;">As</span> shape<span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>
    <span style="color: #0000ff;">Dim</span> r <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>, c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>, modifs <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>: modifs = <span style="color: #cc66cc;">0</span>
    <span style="color: #0000ff;">For</span> r = <span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">To</span> tblShp.Table.Rows.count
        <span style="color: #0000ff;">For</span> c = <span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">To</span> tblShp.Table.Columns.count
            <span style="color: #0000ff;">With</span> tblShp.Table.cell<span class="br0">&#40;</span>r, c<span class="br0">&#41;</span>.shape.TextFrame
                <span style="color: #0000ff;">If</span> .HasText <span style="color: #0000ff;">Then</span>
                    modifs = modifs + CleanTextRange<span class="br0">&#40;</span>.TextRange<span class="br0">&#41;</span>
                <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
            <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">With</span>
        <span style="color: #0000ff;">Next</span> c
    <span style="color: #0000ff;">Next</span> r
    CleanTableText = modifs
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
<span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Function</span> CleanTextRange<span class="br0">&#40;</span>tr <span style="color: #0000ff;">As</span> TextRange<span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>
    <span style="color: #0000ff;">Dim</span> txt <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>, i <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>, fineInsec <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>: fineInsec = ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">&amp;H202F</span><span class="br0">&#41;</span>
    <span style="color: #0000ff;">Dim</span> oldTxt <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>, n <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>, modifs <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>: modifs = <span style="color: #cc66cc;">0</span>
&nbsp;
    txt = tr.text
    oldTxt = txt
&nbsp;
    <span style="color: #808080;">' Nettoyage</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot; ,&quot;</span>, <span style="color: #FF0000;">&quot;,&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot; .&quot;</span>, <span style="color: #FF0000;">&quot;.&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;http://&quot;</span>, <span style="color: #FF0000;">&quot;__PROTECTED_HTTP__&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;https://&quot;</span>, <span style="color: #FF0000;">&quot;__PROTECTED_HTTPS__&quot;</span><span class="br0">&#41;</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;\s*/\s*&quot;</span>, <span style="color: #FF0000;">&quot; / &quot;</span><span class="br0">&#41;</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;\s*:\s*&quot;</span>, <span style="color: #FF0000;">&quot; : &quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;__PROTECTED_HTTP__&quot;</span>, <span style="color: #FF0000;">&quot;http://&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;__PROTECTED_HTTPS__&quot;</span>, <span style="color: #FF0000;">&quot;https://&quot;</span><span class="br0">&#41;</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;(\d)(%|&#128;)&quot;</span>, <span style="color: #FF0000;">&quot;$1&quot;</span> &amp; fineInsec &amp; <span style="color: #FF0000;">&quot;$2&quot;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;">' Changer la premi&egrave;re lettre apr&egrave;s les deux-points et un espace en minuscule</span>
    <span style="color: #0000ff;">Dim</span> pos <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>
    pos = InStr<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;: &quot;</span><span class="br0">&#41;</span> <span style="color: #808080;">' Cherche l'occurrence de &quot;: &quot; dans le texte</span>
    <span style="color: #0000ff;">Do</span> <span style="color: #0000ff;">While</span> pos &gt; <span style="color: #cc66cc;">0</span>
        <span style="color: #808080;">' Si une majuscule suit &quot;: &quot;, on la transforme en minuscule</span>
        <span style="color: #0000ff;">If</span> <span style="color: #0000ff;">Mid</span><span class="br0">&#40;</span>txt, pos + <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> <span style="color: #0000ff;">Like</span> <span style="color: #FF0000;">&quot;[A-Z]&quot;</span> <span style="color: #0000ff;">Then</span>
            txt = Left<span class="br0">&#40;</span>txt, pos + <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> &amp; LCase<span class="br0">&#40;</span><span style="color: #0000ff;">Mid</span><span class="br0">&#40;</span>txt, pos + <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span> &amp; <span style="color: #0000ff;">Mid</span><span class="br0">&#40;</span>txt, pos + <span style="color: #cc66cc;">3</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
        <span style="color: #808080;">' Cherche le prochain &quot;: &quot; dans le texte</span>
        pos = InStr<span class="br0">&#40;</span>pos + <span style="color: #cc66cc;">1</span>, txt, <span style="color: #FF0000;">&quot;: &quot;</span><span class="br0">&#41;</span>
    <span style="color: #0000ff;">Loop</span>
&nbsp;
    <span style="color: #808080;">' Remplacer les guillemets anglais (typographiques) par les guillemets fran&ccedil;ais</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;&#147;&quot;</span>, <span style="color: #FF0000;">&quot;&laquo;&quot;</span><span class="br0">&#41;</span>  <span style="color: #808080;">' Remplacer guillemet ouvrant typographique par guillemet fran&ccedil;ais</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;&#148;&quot;</span>, <span style="color: #FF0000;">&quot;&raquo;&quot;</span><span class="br0">&#41;</span>  <span style="color: #808080;">' Remplacer guillemet fermant typographique par guillemet fran&ccedil;ais</span>
&nbsp;
&nbsp;
    <span style="color: #808080;">' Remplacement des formules chimiques, etc.</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;CO2&quot;</span>, <span style="color: #FF0000;">&quot;CO&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">8322</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;co2&quot;</span>, <span style="color: #FF0000;">&quot;CO&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">8322</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;Co2&quot;</span>, <span style="color: #FF0000;">&quot;CO&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">8322</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;H2O&quot;</span>, <span style="color: #FF0000;">&quot;H&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">8322</span><span class="br0">&#41;</span> &amp; <span style="color: #FF0000;">&quot;O&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;h2o&quot;</span>, <span style="color: #FF0000;">&quot;H&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">8322</span><span class="br0">&#41;</span> &amp; <span style="color: #FF0000;">&quot;O&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;H2o&quot;</span>, <span style="color: #FF0000;">&quot;H&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">8322</span><span class="br0">&#41;</span> &amp; <span style="color: #FF0000;">&quot;O&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;m2&quot;</span>, <span style="color: #FF0000;">&quot;m&sup2;&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;m3&quot;</span>, <span style="color: #FF0000;">&quot;m&sup3;&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;cm2&quot;</span>, <span style="color: #FF0000;">&quot;m&sup2;&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;M2&quot;</span>, <span style="color: #FF0000;">&quot;m&sup2;&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;km2&quot;</span>, <span style="color: #FF0000;">&quot;km&sup2;&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;Km2&quot;</span>, <span style="color: #FF0000;">&quot;km&sup2;&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;O2&quot;</span>, <span style="color: #FF0000;">&quot;O&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">8322</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;N2&quot;</span>, <span style="color: #FF0000;">&quot;N&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">8322</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;">' Ajout d'un espace entre le chiffre et l'unit&eacute; (m, km, etc.)</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;(\d)(m|k|M|g|t|h|H|o|K|C|O|N|R|B|T|&#128;|%)&quot;</span>, <span style="color: #FF0000;">&quot;$1 $2&quot;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;">' Liste des polices syst&egrave;me par d&eacute;faut d'Office 365</span>
    <span style="color: #0000ff;">Dim</span> acceptedFonts <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Variant</span>
    acceptedFonts = Array<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Arial&quot;</span>, <span style="color: #FF0000;">&quot;Calibri&quot;</span>, <span style="color: #FF0000;">&quot;Times New Roman&quot;</span>, <span style="color: #FF0000;">&quot;Cambria&quot;</span>, <span style="color: #FF0000;">&quot;Georgia&quot;</span>, <span style="color: #FF0000;">&quot;Verdana&quot;</span>, <span style="color: #FF0000;">&quot;Tahoma&quot;</span>, _
                          <span style="color: #FF0000;">&quot;Segoe UI&quot;</span>, <span style="color: #FF0000;">&quot;Courier New&quot;</span>, <span style="color: #FF0000;">&quot;Consolas&quot;</span>, <span style="color: #FF0000;">&quot;Lucida Console&quot;</span>, <span style="color: #FF0000;">&quot;Garamond&quot;</span>, <span style="color: #FF0000;">&quot;Palatino Linotype&quot;</span>, _
                          <span style="color: #FF0000;">&quot;Book Antiqua&quot;</span>, <span style="color: #FF0000;">&quot;Microsoft Sans Serif&quot;</span>, <span style="color: #FF0000;">&quot;Century Gothic&quot;</span>, <span style="color: #FF0000;">&quot;Frank Ruhl Libre&quot;</span>, <span style="color: #FF0000;">&quot;Arial Narrow&quot;</span>, _
                          <span style="color: #FF0000;">&quot;Bookman Old Style&quot;</span>, <span style="color: #FF0000;">&quot;Corbel&quot;</span>, <span style="color: #FF0000;">&quot;Candara&quot;</span>, <span style="color: #FF0000;">&quot;Lucida Sans Unicode&quot;</span>, <span style="color: #FF0000;">&quot;Calibri Light&quot;</span>, <span style="color: #FF0000;">&quot;Perpetua&quot;</span>, _
                          <span style="color: #FF0000;">&quot;Avenir&quot;</span>, <span style="color: #FF0000;">&quot;Cambria Math&quot;</span>, <span style="color: #FF0000;">&quot;Impact&quot;</span>, <span style="color: #FF0000;">&quot;Sitka&quot;</span>, <span style="color: #FF0000;">&quot;Rockwell&quot;</span>, <span style="color: #FF0000;">&quot;Arial Black&quot;</span>, <span style="color: #FF0000;">&quot;Helvetica&quot;</span>, _
                          <span style="color: #FF0000;">&quot;Open Sans&quot;</span>, <span style="color: #FF0000;">&quot;Montserrat&quot;</span>, <span style="color: #FF0000;">&quot;Trebuchet MS&quot;</span>, <span style="color: #FF0000;">&quot;Andalus&quot;</span>, <span style="color: #FF0000;">&quot;Mongolian Baiti&quot;</span>, <span style="color: #FF0000;">&quot;Ebrima&quot;</span>, _
                          <span style="color: #FF0000;">&quot;Nirmala UI&quot;</span>, <span style="color: #FF0000;">&quot;Frank Ruhl&quot;</span>, <span style="color: #FF0000;">&quot;MS Sans Serif&quot;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;">' V&eacute;rification de la police</span>
    <span style="color: #0000ff;">Dim</span> currentFont <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
    currentFont = tr.Font.Name
    <span style="color: #0000ff;">Dim</span> fontFound <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Boolean</span>
    fontFound = <span style="color: #0000ff;">False</span>
&nbsp;
    <span style="color: #808080;">' V&eacute;rification si la police fait partie des polices autoris&eacute;es</span>
    <span style="color: #0000ff;">For</span> i = LBound<span class="br0">&#40;</span>acceptedFonts<span class="br0">&#41;</span> <span style="color: #0000ff;">To</span> UBound<span class="br0">&#40;</span>acceptedFonts<span class="br0">&#41;</span>
        <span style="color: #0000ff;">If</span> LCase<span class="br0">&#40;</span>currentFont<span class="br0">&#41;</span> = LCase<span class="br0">&#40;</span>acceptedFonts<span class="br0">&#40;</span>i<span class="br0">&#41;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
            fontFound = <span style="color: #0000ff;">True</span>
            <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">For</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
    <span style="color: #0000ff;">Next</span> i
&nbsp;
<span style="color: #808080;">' Si la police n'est pas dans la liste des polices accept&eacute;es</span>
<span style="color: #808080;">' on ne la modifie PAS si c&#146;est un placeholder</span>
<span style="color: #0000ff;">If</span> <span style="color: #0000ff;">Not</span> fontFound <span style="color: #0000ff;">Then</span>
    <span style="color: #0000ff;">If</span> <span style="color: #0000ff;">Not</span> tr.Parent.PlaceholderFormat.Type &lt;&gt; ppPlaceholderNone <span style="color: #0000ff;">Then</span>
        <span style="color: #808080;">' Ne rien faire si c'est un placeholder</span>
    <span style="color: #0000ff;">Else</span>
        tr.Font.Name = <span style="color: #FF0000;">&quot;Arial&quot;</span>
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
&nbsp;
    <span style="color: #808080;">' Cas pour MWh, GWh, et autres unit&eacute;s similaires</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;mWh&quot;</span>, <span style="color: #FF0000;">&quot;MWh&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;MwH&quot;</span>, <span style="color: #FF0000;">&quot;MWh&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;Mwh&quot;</span>, <span style="color: #FF0000;">&quot;MWh&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;mwh&quot;</span>, <span style="color: #FF0000;">&quot;MWh&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;gWh&quot;</span>, <span style="color: #FF0000;">&quot;GWh&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;GwH&quot;</span>, <span style="color: #FF0000;">&quot;GWh&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;Gwh&quot;</span>, <span style="color: #FF0000;">&quot;GWh&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;gwh&quot;</span>, <span style="color: #FF0000;">&quot;GWh&quot;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;">' Cas pour EnR2 et ses variantes</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;EnR&quot;</span>, <span style="color: #FF0000;">&quot;EnR&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;ENr&quot;</span>, <span style="color: #FF0000;">&quot;EnR&quot;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;">' Application du format des milliers</span>
    <span style="color: #0000ff;">Do</span>
        oldTxt = txt
        txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;(\d)[.,](\d<span style="color: black;"><span class="br0">&#123;</span><span style="color: #cc66cc;">3</span><span class="br0">&#125;</span></span>)([^0-9]|$)&quot;</span>, <span style="color: #FF0000;">&quot;$1$2$3&quot;</span><span class="br0">&#41;</span>
    <span style="color: #0000ff;">Loop</span> <span style="color: #0000ff;">While</span> txt &lt;&gt; oldTxt
&nbsp;
txt = FormatThousandsSansDates<span class="br0">&#40;</span>txt<span class="br0">&#41;</span>
&nbsp;
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;(\d)\.(\d)&quot;</span>, <span style="color: #FF0000;">&quot;$1,$2&quot;</span><span class="br0">&#41;</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;[ \t]<span style="color: black;"><span class="br0">&#123;</span><span style="color: #cc66cc;">1</span>,<span class="br0">&#125;</span></span>([!?])&quot;</span>, <span style="color: #FF0000;">&quot; $1&quot;</span><span class="br0">&#41;</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;([^ ])([!?])&quot;</span>, <span style="color: #FF0000;">&quot;$1 $2&quot;</span><span class="br0">&#41;</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;&laquo;\s*&quot;</span>, <span style="color: #FF0000;">&quot;&laquo; &quot;</span><span class="br0">&#41;</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;\s*&raquo;&quot;</span>, <span style="color: #FF0000;">&quot; &raquo;&quot;</span><span class="br0">&#41;</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;([([{])\s+&quot;</span>, <span style="color: #FF0000;">&quot;$1&quot;</span><span class="br0">&#41;</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;\s+([)\]}])&quot;</span>, <span style="color: #FF0000;">&quot;$1&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;((&quot;</span>, <span style="color: #FF0000;">&quot;(&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;))&quot;</span>, <span style="color: #FF0000;">&quot;)&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;[[&quot;</span>, <span style="color: #FF0000;">&quot;[&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;]]&quot;</span>, <span style="color: #FF0000;">&quot;]&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;{{&quot;</span>, <span style="color: #FF0000;">&quot;{&quot;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;}}&quot;</span>, <span style="color: #FF0000;">&quot;}&quot;</span><span class="br0">&#41;</span>
&nbsp;
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;\s*&#150;\s*&quot;</span>, <span style="color: #FF0000;">&quot; &#150; &quot;</span><span class="br0">&#41;</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot; <span style="color: black;"><span class="br0">&#123;</span><span style="color: #cc66cc;">2</span>,<span class="br0">&#125;</span></span>&quot;</span>, <span style="color: #FF0000;">&quot; &quot;</span><span class="br0">&#41;</span>
&nbsp;
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;&#128;(\d+)&quot;</span>, <span style="color: #FF0000;">&quot;$1&quot;</span> &amp; fineInsec &amp; <span style="color: #FF0000;">&quot;&#128;&quot;</span><span class="br0">&#41;</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;&#128;\s*(\d+)&quot;</span>, <span style="color: #FF0000;">&quot;$1&quot;</span> &amp; fineInsec &amp; <span style="color: #FF0000;">&quot;&#128;&quot;</span><span class="br0">&#41;</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;&#128;M (\d+)&quot;</span>, <span style="color: #FF0000;">&quot;$1&quot;</span> &amp; fineInsec &amp; <span style="color: #FF0000;">&quot;M&#128;&quot;</span><span class="br0">&#41;</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;(\d+)%&quot;</span>, <span style="color: #FF0000;">&quot;$1&quot;</span> &amp; fineInsec &amp; <span style="color: #FF0000;">&quot;%&quot;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;">' Gestion des indices pour les suffixes</span>
    <span style="color: #0000ff;">For</span> n = <span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">To</span> <span style="color: #cc66cc;">99</span>
        txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #0000ff;">CStr</span><span class="br0">&#40;</span>n<span class="br0">&#41;</span> &amp; <span style="color: #FF0000;">&quot;&egrave;me&quot;</span>, <span style="color: #0000ff;">CStr</span><span class="br0">&#40;</span>n<span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">7497</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">7504</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">7497</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
        txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #0000ff;">CStr</span><span class="br0">&#40;</span>n<span class="br0">&#41;</span> &amp; <span style="color: #FF0000;">&quot;eme&quot;</span>, <span style="color: #0000ff;">CStr</span><span class="br0">&#40;</span>n<span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">7497</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">7504</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">7497</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
    <span style="color: #0000ff;">Next</span> n
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;1er&quot;</span>, <span style="color: #FF0000;">&quot;1&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">7497</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">691</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;2e&quot;</span>, <span style="color: #FF0000;">&quot;2&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">7497</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;1re&quot;</span>, <span style="color: #FF0000;">&quot;1&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">691</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">7497</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;1&egrave;re&quot;</span>, <span style="color: #FF0000;">&quot;1&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">7497</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">691</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">7497</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;1st&quot;</span>, <span style="color: #FF0000;">&quot;1&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">738</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">7511</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;2nd&quot;</span>, <span style="color: #FF0000;">&quot;2&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">8319</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">7496</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
    txt = Replace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;3rd&quot;</span>, <span style="color: #FF0000;">&quot;3&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">691</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">7496</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
 <span style="color: #808080;">' Nettoyage des combinaisons espaces/ins&eacute;cables</span>
    <span style="color: #0000ff;">Dim</span> combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">To</span> <span style="color: #cc66cc;">15</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span><span class="br0">&#41;</span> = Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">2</span><span class="br0">&#41;</span> = ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">160</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">160</span><span class="br0">&#41;</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">3</span><span class="br0">&#41;</span> = ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">160</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">160</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">160</span><span class="br0">&#41;</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">4</span><span class="br0">&#41;</span> = Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">160</span><span class="br0">&#41;</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">5</span><span class="br0">&#41;</span> = ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">160</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">6</span><span class="br0">&#41;</span> = Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">7</span><span class="br0">&#41;</span> = Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">160</span><span class="br0">&#41;</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">8</span><span class="br0">&#41;</span> = ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">160</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">9</span><span class="br0">&#41;</span> = ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">160</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">10</span><span class="br0">&#41;</span> = Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">11</span><span class="br0">&#41;</span> = Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">12</span><span class="br0">&#41;</span> = Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">13</span><span class="br0">&#41;</span> = Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">14</span><span class="br0">&#41;</span> = Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span>
    combinaisons<span class="br0">&#40;</span><span style="color: #cc66cc;">15</span><span class="br0">&#41;</span> = Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span> &amp; Chr<span class="br0">&#40;</span><span style="color: #cc66cc;">32</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">For</span> i = LBound<span class="br0">&#40;</span>combinaisons<span class="br0">&#41;</span> <span style="color: #0000ff;">To</span> UBound<span class="br0">&#40;</span>combinaisons<span class="br0">&#41;</span>
        <span style="color: #0000ff;">Do</span> <span style="color: #0000ff;">While</span> InStr<span class="br0">&#40;</span>txt, combinaisons<span class="br0">&#40;</span>i<span class="br0">&#41;</span><span class="br0">&#41;</span> &gt; <span style="color: #cc66cc;">0</span>
            txt = Replace<span class="br0">&#40;</span>txt, combinaisons<span class="br0">&#40;</span>i<span class="br0">&#41;</span>, <span style="color: #FF0000;">&quot; &quot;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">Loop</span>
    <span style="color: #0000ff;">Next</span> i
&nbsp;
&nbsp;
&nbsp;
&nbsp;
    <span style="color: #808080;">' Supprimer les espaces en d&eacute;but de ligne</span>
    txt = RegReplace<span class="br0">&#40;</span>txt, <span style="color: #FF0000;">&quot;^\s+&quot;</span>, <span style="color: #FF0000;">&quot;&quot;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">If</span> tr.text &lt;&gt; txt <span style="color: #0000ff;">Then</span>
        tr.text = txt
        modifs = modifs + <span style="color: #cc66cc;">1</span>
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    CleanTextRange = modifs
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
<span style="color: #808080;">' Fonction qui utilise VBScript.RegExp pour effectuer les remplacements</span>
<span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Function</span> RegReplace<span class="br0">&#40;</span>inputText <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>, pattern <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>, replacement <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
    <span style="color: #0000ff;">Dim</span> regex <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>
    <span style="color: #0000ff;">Set</span> regex = CreateObject<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;VBScript.RegExp&quot;</span><span class="br0">&#41;</span>
    regex.Global = <span style="color: #0000ff;">True</span>
    regex.IgnoreCase = <span style="color: #0000ff;">False</span>
    regex.pattern = pattern
    RegReplace = regex.Replace<span class="br0">&#40;</span>inputText, replacement<span class="br0">&#41;</span>
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
<span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Function</span> FormatThousandsSansDates<span class="br0">&#40;</span>inputText <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
    <span style="color: #0000ff;">Dim</span> regex <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>
    <span style="color: #0000ff;">Set</span> regex = CreateObject<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;VBScript.RegExp&quot;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;">' 1. Extraction des dates de type &quot;en 2025&quot;, &quot;de 1980&quot;, etc.</span>
    <span style="color: #0000ff;">Dim</span> protections <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Variant</span>
    protections = Array<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;en&quot;</span>, <span style="color: #FF0000;">&quot;En&quot;</span>, <span style="color: #FF0000;">&quot;sur&quot;</span>, <span style="color: #FF0000;">&quot;travers&quot;</span>, <span style="color: #FF0000;">&quot;ann&eacute;e&quot;</span>, <span style="color: #FF0000;">&quot;ann&eacute;es&quot;</span>, <span style="color: #FF0000;">&quot;courant&quot;</span>, <span style="color: #FF0000;">&quot;et&quot;</span>, <span style="color: #FF0000;">&quot;entre&quot;</span>, <span style="color: #FF0000;">&quot;Entre&quot;</span>, <span style="color: #FF0000;">&quot;ici&quot;</span>, <span style="color: #FF0000;">&quot;D'ici&quot;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">Dim</span> i <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>, tagId <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Long</span>: tagId = <span style="color: #cc66cc;">1</span>
    <span style="color: #0000ff;">Dim</span> matches<span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
    <span style="color: #0000ff;">ReDim</span> matches<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">To</span> <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">For</span> i = LBound<span class="br0">&#40;</span>protections<span class="br0">&#41;</span> <span style="color: #0000ff;">To</span> UBound<span class="br0">&#40;</span>protections<span class="br0">&#41;</span>
        <span style="color: #0000ff;">Set</span> regex = CreateObject<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;VBScript.RegExp&quot;</span><span class="br0">&#41;</span>
        regex.Global = <span style="color: #0000ff;">True</span>
        regex.IgnoreCase = <span style="color: #0000ff;">True</span>
        regex.pattern = protections<span class="br0">&#40;</span>i<span class="br0">&#41;</span> &amp; <span style="color: #FF0000;">&quot; (\d<span style="color: black;"><span class="br0">&#123;</span><span style="color: #cc66cc;">4</span><span class="br0">&#125;</span></span>)&quot;</span>
&nbsp;
        <span style="color: #0000ff;">Do</span> <span style="color: #0000ff;">While</span> regex.Test<span class="br0">&#40;</span>inputText<span class="br0">&#41;</span>
            <span style="color: #0000ff;">Dim</span> matchVal <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
            matchVal = regex.Execute<span class="br0">&#40;</span>inputText<span class="br0">&#41;</span><span class="br0">&#40;</span><span style="color: #cc66cc;">0</span><span class="br0">&#41;</span>.Value
            matches<span class="br0">&#40;</span>tagId<span class="br0">&#41;</span> = matchVal
            inputText = Replace<span class="br0">&#40;</span>inputText, matchVal, <span style="color: #FF0000;">&quot;[ANNEE&quot;</span> &amp; tagId &amp; <span style="color: #FF0000;">&quot;]&quot;</span><span class="br0">&#41;</span>
            tagId = tagId + <span style="color: #cc66cc;">1</span>
            <span style="color: #0000ff;">ReDim</span> <span style="color: #0000ff;">Preserve</span> matches<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">To</span> tagId<span class="br0">&#41;</span>
        <span style="color: #0000ff;">Loop</span>
    <span style="color: #0000ff;">Next</span> i
&nbsp;
    <span style="color: #808080;">' 2. Supprimer les points/virgules dans les grands nombres (ex: 1.000.000 ? 1000000)</span>
    <span style="color: #0000ff;">Set</span> regex = CreateObject<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;VBScript.RegExp&quot;</span><span class="br0">&#41;</span>
    regex.Global = <span style="color: #0000ff;">True</span>
    regex.IgnoreCase = <span style="color: #0000ff;">False</span>
    regex.pattern = <span style="color: #FF0000;">&quot;(\d)[.,](\d<span style="color: black;"><span class="br0">&#123;</span><span style="color: #cc66cc;">3</span><span class="br0">&#125;</span></span>)([^0-9]|$)&quot;</span>
    inputText = regex.Replace<span class="br0">&#40;</span>inputText, <span style="color: #FF0000;">&quot;$1$2$3&quot;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #808080;">' 3. Ajout des espaces fines ins&eacute;cables entre les milliers</span>
    <span style="color: #0000ff;">Set</span> regex = CreateObject<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;VBScript.RegExp&quot;</span><span class="br0">&#41;</span>
    regex.Global = <span style="color: #0000ff;">True</span>
    regex.IgnoreCase = <span style="color: #0000ff;">False</span>
    regex.pattern = <span style="color: #FF0000;">&quot;(\d)(?=(\d<span style="color: black;"><span class="br0">&#123;</span><span style="color: #cc66cc;">3</span><span class="br0">&#125;</span></span>)+(?!\d))&quot;</span>
    inputText = regex.Replace<span class="br0">&#40;</span>inputText, <span style="color: #FF0000;">&quot;$1&quot;</span> &amp; ChrW<span class="br0">&#40;</span><span style="color: #cc66cc;">8239</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span style="color: #808080;">' espace fine ins&eacute;cable</span>
&nbsp;
    <span style="color: #808080;">' 4. R&eacute;int&eacute;grer les s&eacute;quences prot&eacute;g&eacute;es</span>
    <span style="color: #0000ff;">For</span> i = <span style="color: #cc66cc;">1</span> <span style="color: #0000ff;">To</span> UBound<span class="br0">&#40;</span>matches<span class="br0">&#41;</span> - <span style="color: #cc66cc;">1</span>
        inputText = Replace<span class="br0">&#40;</span>inputText, <span style="color: #FF0000;">&quot;[ANNEE&quot;</span> &amp; i &amp; <span style="color: #FF0000;">&quot;]&quot;</span>, matches<span class="br0">&#40;</span>i<span class="br0">&#41;</span><span class="br0">&#41;</span>
    <span style="color: #0000ff;">Next</span> i
&nbsp;
    FormatThousandsSansDates = inputText
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span></pre></td></tr></table></code><hr />
</div><img src="https://www.developpez.net/forums/attachments/p666713d1745324794/logiciels/microsoft-office/powerpoint/vba-powerpoint/impasse-code-vba-complexe-plus-fort-chatgpt/.png/" border="0" alt="Nom : Avant.png
Affichages : 264
Taille : 27,8 Ko"  style="float: CONFIG" /><br />
<img src="https://www.developpez.net/forums/attachments/p666714d1745324827/logiciels/microsoft-office/powerpoint/vba-powerpoint/impasse-code-vba-complexe-plus-fort-chatgpt/apres.png/" border="0" alt="Nom : Apres.png
Affichages : 269
Taille : 130,2 Ko"  style="float: CONFIG" /></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p666713d1745324794/logiciels/microsoft-office/powerpoint/vba-powerpoint/impasse-code-vba-complexe-plus-fort-chatgpt/.png/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p666714d1745324827/logiciels/microsoft-office/powerpoint/vba-powerpoint/impasse-code-vba-complexe-plus-fort-chatgpt/apres.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f682/logiciels/microsoft-office/powerpoint/vba-powerpoint/">VBA PowerPoint</category>
			<dc:creator>MDK75</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2176343/logiciels/microsoft-office/powerpoint/vba-powerpoint/impasse-code-vba-complexe-plus-fort-chatgpt/</guid>
		</item>
	</channel>
</rss>
