<?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 - VB.NET</title>
		<link>https://www.developpez.net/forums/</link>
		<description><![CDATA[Forum d'entraide sur la programmation Visual Basic .NET. Avant de poster -> FAQ VB.NET, Articles VB.NET, Sources VB.NET]]></description>
		<language>fr</language>
		<lastBuildDate>Tue, 20 Oct 2026 05:52:56 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 - VB.NET</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title><![CDATA[Récupérer type d'une liste d'objets]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2185924&amp;goto=newpost</link>
			<pubDate>Wed, 30 Sep 2026 07:50:33 GMT</pubDate>
			<description>Bonjour, 
 
Je suis en train...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Je suis en train de reprendre un projet laissé de côté pendant un certain temps, et qui devra être utilisé d'ici peu.<br />
Je tombe sur un hic, je ne suis plus à la page, et je bloque sur un problème idiot.<br />
On a des classes d'objets divers, qui sont stockés dans ce cas précis en listes : List (of Object)<br />
Pour effectuer un traitement générique sur chaque List (il y en a plusieurs dizaines), j'ai bien une solution bête, faire une fonction par classe. <br />
Mais tant qu'à faire je préfèrerais une seule fonction qui serait valable pour toutes les classes d'où le List(of Object).<br />
Mon seul souci est que dans une boucle, afin d'ajouter un nouvel élément à la liste, j'ai besoin de créer un nouvel objet avec New<br />
Et je ne sais pas comment faire pour dire que c'est un objet de la classe de la liste.<br />
Voici la fonction. Elle utilise une chaîne contenant une liste d'ID enregs, et doit remplir la liste en ne tenant compte que de cet ID (les autres valeurs de la classe sont inutiles à cet instant et sont renseignées plus tard).<br />
J'avais bien pensé à Lst(0).GetType() pour remplacé les ??? mais çà ne va pas.<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="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td valign="top"><pre style="margin: 0">    <span style="color: #0000ff;">Function</span> decode_List<span class="br0">&#40;</span>str_Var <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>, lst <span style="color: #0000ff;">As</span> List<span class="br0">&#40;</span><span style="color: #0000ff;">Of</span> <span style="color: #0000ff;">Object</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
&nbsp;
        <span style="color: #808080;">' Vide la liste</span>
        lst.Clear<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #808080;">' Eclate la chaine r&eacute;cup&eacute;r&eacute;e en liste de cl&eacute;s</span>
        <span style="color: #0000ff;">Dim</span> lstSplit <span style="color: #0000ff;">As</span> List<span class="br0">&#40;</span><span style="color: #0000ff;">Of</span> <span style="color: #0000ff;">String</span><span class="br0">&#41;</span> = str_Var.Split<span class="br0">&#40;</span><span style="color: #0000ff;">New</span> <span style="color: #0000ff;">Char</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><span style="color: #FF0000;">&quot;,&quot;</span><span style="color: #FF0000;">c</span><span class="br0">&#125;</span>, StringSplitOptions.RemoveEmptyEntries<span class="br0">&#41;</span>.ToList<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #808080;">' Remplit la liste avec les cl&eacute;s stock&eacute;es</span>
        <span style="color: #0000ff;">For</span> <span style="color: #0000ff;">Each</span> s <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> <span style="color: #0000ff;">In</span> lstSplit
            <span style="color: #0000ff;">Dim</span> obj <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">New</span> ???
            obj.Code = <span style="color: #0000ff;">CInt</span><span class="br0">&#40;</span>s<span class="br0">&#41;</span>
            lst.Add<span class="br0">&#40;</span>obj<span class="br0">&#41;</span>
        <span style="color: #0000ff;">Next</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span></pre></td></tr></table></code><hr />
</div>Une idée, un conseil ?<br />
Merci</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>m4k-Hurrican</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2185924/dotnet/langages/vb-net/recuperer-type-d-liste-d-objets/</guid>
		</item>
		<item>
			<title>Petite question sur Task Run</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2185692&amp;goto=newpost</link>
			<pubDate>Wed, 16 Sep 2026 10:36:50 GMT</pubDate>
			<description><![CDATA[Bonjour à tous, 
 
j'ai une...]]></description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
j'ai une fonction qui prend du temps et qui bloque la fenetre.<br />
Une fonction qui prend un Booleen en parametre et qui renvoi un Short.<br />
Et j'ai besoin d'attendre que cette fonction soit terminé pour continuer.<br />
J'ai donc appelé la fonction de cette manière :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><span style="color: #0000ff;">Dim</span> Ret <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Short</span> = Await Task.Run<span class="br0">&#40;</span><span style="color: #0000ff;">Function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> FonctionLente<span class="br0">&#40;</span><span style="color: #0000ff;">True</span><span class="br0">&#41;</span><span class="br0">&#41;</span></code><hr />
</div>ça à l'air de fonctionner.<br />
Mais je n'suis pas sur de comprendre ce que je fais.<br />
J'avais tenté au début d'utiliser &quot;Func()&quot; à la place de &quot;Function()&quot;,<br />
mais ça ne fonctionnait pas, sans comprendre pourquoi.<br />
Là j'ai l'impression d'appeler une fonction qui en appelle une autre.<br />
Est-ce un Délégué ?<br />
Est-ce la bonne façon de faire ?</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>pqboot</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2185692/dotnet/langages/vb-net/petite-question-task-run/</guid>
		</item>
		<item>
			<title><![CDATA[[Débutant] Probleme requete SqlConnection]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2185414&amp;goto=newpost</link>
			<pubDate>Tue, 01 Sep 2026 19:08:04 GMT</pubDate>
			<description><![CDATA[Bonjour à tous, 
 
j'ai...]]></description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
j'ai installé SQL Server Express.<br />
J'ai écris du code avec VB.Net pour créer une base de données, ajouter une table,<br />
ajouter des enregistrements et tout à l'air de fonctionner correctement.<br />
Mais j'ai quand meme un soucis.<br />
Pour essayer de comprendre (sans succès), j'ai commençé un nouveau programme avec<br />
seulement 2 boutons. Un pour ouvrir la base &quot;Test1&quot;, et un autre pour la supprimer.<br />
Si après le lancement du programme je tente de supprimer la base, pas de problème.<br />
Mais si j'ouvre d'abord la base avec le bouton &quot;BtnOPEN&quot;, et qu'ensuite j'essai de<br />
la supprimer avec le bouton &quot;BtnDROP&quot;, j'ai ce message d'erreur :<br />
<br />
&quot;Impossible de supprimer la base de données &quot;Test1&quot; car elle est en cours d'utilisation.&quot;<br />
<br />
Pourtant j'ai bien fait &quot;.Dispose&quot; sur l'objet SqlConnection.<br />
Qu'est c'que j'ai oublié ?<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="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 /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> BtnOPEN_Click<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> EventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> BtnOPEN.Click
&nbsp;
    <span style="color: #0000ff;">Dim</span> ObjConnection <span style="color: #0000ff;">As</span> SqlConnection
&nbsp;
    ObjConnection = <span style="color: #0000ff;">New</span> SqlConnection<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Server=localhost\SQLEXPRESS;User Id=toto;Password=xxxx;Database=Test1;&quot;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">Try</span>
        ObjConnection.Open<span class="br0">&#40;</span><span class="br0">&#41;</span>
        MessageBox.Show<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Ouverture Ok&quot;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">Catch</span> ex <span style="color: #0000ff;">As</span> Exception
        MessageBox.Show<span class="br0">&#40;</span>ex.Message<span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">Finally</span>
        ObjConnection.Close<span class="br0">&#40;</span><span class="br0">&#41;</span>
        ObjConnection.Dispose<span class="br0">&#40;</span><span class="br0">&#41;</span>
        ObjConnection = <span style="color: #0000ff;">Nothing</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Try</span>
&nbsp;
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></pre></td></tr></table></code><hr />
</div><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="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 /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> BtnDROP_Click<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> EventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> BtnDROP.Click
&nbsp;
        <span style="color: #0000ff;">Dim</span> ObjConnection <span style="color: #0000ff;">As</span> SqlConnection
        <span style="color: #0000ff;">Dim</span> ObjCMD <span style="color: #0000ff;">As</span> SqlCommand
&nbsp;
        ObjConnection = <span style="color: #0000ff;">New</span> SqlConnection<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Server=localhost\SQLEXPRESS;User Id=toto;Password=xxxx;&quot;</span><span class="br0">&#41;</span>
        ObjConnection.Open<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
        ObjCMD = ObjConnection.CreateCommand
        ObjCMD.CommandText = <span style="color: #FF0000;">&quot;DROP DATABASE IF EXISTS Test1;&quot;</span>
&nbsp;
        <span style="color: #0000ff;">Try</span>
            ObjCMD.ExecuteNonQuery<span class="br0">&#40;</span><span class="br0">&#41;</span>
            MessageBox.Show<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;DROP Ok&quot;</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #0000ff;">Catch</span> ex <span style="color: #0000ff;">As</span> Exception
            MessageBox.Show<span class="br0">&#40;</span>ex.Message<span class="br0">&#41;</span>
&nbsp;
        <span style="color: #0000ff;">Finally</span>
            ObjCMD.Dispose<span class="br0">&#40;</span><span class="br0">&#41;</span>
            ObjCMD = <span style="color: #0000ff;">Nothing</span>
            ObjConnection.Close<span class="br0">&#40;</span><span class="br0">&#41;</span>
            ObjConnection.Dispose<span class="br0">&#40;</span><span class="br0">&#41;</span>
            ObjConnection = <span style="color: #0000ff;">Nothing</span>
&nbsp;
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Try</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></pre></td></tr></table></code><hr />
</div></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>pqboot</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2185414/dotnet/langages/vb-net/probleme-requete-sqlconnection/</guid>
		</item>
		<item>
			<title>Utilisation DataSource sur ListBox</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2184207&amp;goto=newpost</link>
			<pubDate>Sat, 13 Jun 2026 21:51:13 GMT</pubDate>
			<description><![CDATA[Bonjour à tous, 
 
j'ai un...]]></description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
j'ai un petit soucis avec ce code :<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="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"><span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Class</span> Form1
&nbsp;
    <span style="color: #0000ff;">Dim</span> Mois<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;">Dim</span> Couleur<span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> Form1_Load<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> EventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> MyBase.Load
&nbsp;
        Mois = <span class="br0">&#123;</span><span style="color: #FF0000;">&quot;Janvier&quot;</span>, <span style="color: #FF0000;">&quot;F&eacute;vrier&quot;</span>, <span style="color: #FF0000;">&quot;Mars&quot;</span><span class="br0">&#125;</span>
        Couleur = <span class="br0">&#123;</span><span style="color: #FF0000;">&quot;Bleu&quot;</span>, <span style="color: #FF0000;">&quot;Blanc&quot;</span>, <span style="color: #FF0000;">&quot;Rouge&quot;</span><span class="br0">&#125;</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> Button1_Click<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> EventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> Button1.Click
&nbsp;
        Me.ListBox1.DataSource = <span style="color: #0000ff;">Nothing</span>
        Me.ListBox1.DataSource = Mois
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> Button2_Click<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> EventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> Button2.Click
&nbsp;
        Me.ListBox1.DataSource = <span style="color: #0000ff;">Nothing</span>
        Me.ListBox1.DataSource = Couleur
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Class</span></pre></td></tr></table></code><hr />
</div>Si je click sur le bouton1, j'affiche la liste &quot;Mois&quot; dans la ListBox.<br />
Je sélectionne le mois &quot;Mars&quot;, et je clique sur le bouton2 qui m'affiche bien la liste &quot;Couleur&quot;.<br />
Je sélectionne la couleur &quot;Blanc&quot;.<br />
Je re-click sur le bouton1, il m'affiche la liste &quot;Mois&quot;, mais il me re-sélectionne la couleur &quot;Blanc&quot; !<br />
Comment est-ce possible ?<br />
J'ai ajouté &quot;Me.ListBox1.DataSource = Nothing&quot; mais ça n'a rien changé.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>pqboot</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2184207/dotnet/langages/vb-net/utilisation-datasource-listbox/</guid>
		</item>
		<item>
			<title>Question sur Inherits EventArgs</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183912&amp;goto=newpost</link>
			<pubDate>Wed, 27 May 2026 13:51:49 GMT</pubDate>
			<description><![CDATA[Bonjour à tous, 
 
j'essai de...]]></description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
j'essai de créer un classe avec un évenement qui se déclenche à la modification<br />
d'une propriété. Et surtout qu'on puisse dans le gestionnaire de l'évenement,<br />
annuler la modification.<br />
J'ai trouvé un moyen d'y arriver avec cette classe.<br />
J'ai suivi quelques conseils trouvés un peu partout, et ça à l'air de fonctionner<br />
correctement.<br />
J'ai surtout retenu qu'il fallait utiliser &quot;Inherits EventArgs&quot;, mais sans trop<br />
comprendre pourquoi.<br />
Le probleme est que si je retire l'instruction, ça à l'air de fonctionner tout aussi<br />
bien. Mais sans aucun doute que quelque chose m'échappe dans le fonctionnement de ce<br />
que j'écris lol :<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="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 /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Class</span> Classe1
&nbsp;
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> Nom <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
&nbsp;
    <span style="color: #0000ff;">Private</span> _Prenom <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> Prenom<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;">Get</span>
            <span style="color: #0000ff;">Return</span> _Prenom
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Get</span>
        <span style="color: #0000ff;">Set</span><span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> value <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span><span class="br0">&#41;</span>
            <span style="color: #0000ff;">Dim</span> PrenomChangedEventArgs <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">New</span> Classe1EventArgs <span style="color: #0000ff;">With</span> <span class="br0">&#123;</span>.Prenom = value<span class="br0">&#125;</span>
            OnPrenomChanged<span class="br0">&#40;</span>PrenomChangedEventArgs<span class="br0">&#41;</span>
            <span style="color: #0000ff;">If</span> PrenomChangedEventArgs.Annule = <span style="color: #0000ff;">False</span> <span style="color: #0000ff;">Then</span>
                _Prenom = value
            <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Set</span>
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Property</span>
&nbsp;
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Event</span> PrenomChanged<span class="br0">&#40;</span><span style="color: #0000ff;">ByVal</span> sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, <span style="color: #0000ff;">ByVal</span> e <span style="color: #0000ff;">As</span> Classe1EventArgs<span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> OnPrenomChanged<span class="br0">&#40;</span>e <span style="color: #0000ff;">As</span> Classe1EventArgs<span class="br0">&#41;</span>
        <span style="color: #0000ff;">RaiseEvent</span> PrenomChanged<span class="br0">&#40;</span><span style="color: #0000ff;">Me</span>, e<span class="br0">&#41;</span>
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Class</span>
&nbsp;
<span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Class</span> Classe1EventArgs
    <span style="color: #0000ff;">Inherits</span> EventArgs
&nbsp;
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> Prenom <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> Annule <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Boolean</span>
&nbsp;
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Class</span></pre></td></tr></table></code><hr />
</div>Edit : je ne comprends pas non plus pourquoi on passe par la Sub &quot;OnPrenomChanged&quot; pour déclencher<br />
l'évenement. J'ai écris &quot;RaiseEvent PrenomChanged(Me, PrenomChangedEventArgs)&quot; à la place,<br />
et ça à l'air de fonctionner aussi bien.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>pqboot</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183912/dotnet/langages/vb-net/question-inherits-eventargs/</guid>
		</item>
		<item>
			<title><![CDATA[[Débutant] Besoin d'aide pour classe Singleton]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183845&amp;goto=newpost</link>
			<pubDate>Fri, 22 May 2026 16:35:32 GMT</pubDate>
			<description><![CDATA[Bonjour à tous, 
 
j'essai de...]]></description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
j'essai de comprendre comment fonctionne Singleton et j'ai du mal avec cet exemple :<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="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"><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Class</span> SingleTonTest
&nbsp;
        <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> <span style="color: #0000ff;">New</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
            Nom = <span style="color: #FF0000;">&quot;&quot;</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
        <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Property</span> toto <span style="color: #0000ff;">As</span> SingleTonTest = <span style="color: #0000ff;">New</span> SingleTonTest<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> Nom <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
        <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> Age <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Short</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Class</span></pre></td></tr></table></code><hr />
</div>J'ai bien vu que lorsque j'accède à la propriété &quot;Nom&quot; en passant par la propriété &quot;toto&quot; la 1ere fois :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">Console.WriteLine<span class="br0">&#40;</span>SingleTonTest.toto.Nom<span class="br0">&#41;</span></code><hr />
</div>ça declenche la Sub &quot;New&quot;.<br />
Mais pourquoi ça la declenche seulement la 1ere fois et pas à chaque fois ?</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>pqboot</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183845/dotnet/langages/vb-net/besoin-d-aide-classe-singleton/</guid>
		</item>
		<item>
			<title><![CDATA[[Débutant] Besoin d'un avis sur IComparer]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183712&amp;goto=newpost</link>
			<pubDate>Thu, 14 May 2026 11:37:31 GMT</pubDate>
			<description><![CDATA[Bonjour à tous, 
 
j'utilise...]]></description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
j'utilise une List Of :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">ListeNoms = <span style="color: #0000ff;">New</span> List<span class="br0">&#40;</span><span style="color: #0000ff;">Of</span> Classe1<span class="br0">&#41;</span></code><hr />
</div>d'objets issus de cette classe :<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="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Class</span> Classe1
&nbsp;
    <span style="color: #0000ff;">Implements</span> System.Collections.Generic.IComparer<span class="br0">&#40;</span><span style="color: #0000ff;">Of</span> Classe1<span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Property</span> Nom<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;">Public</span> <span style="color: #0000ff;">Property</span> Ville<span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span>
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Function</span> <span style="color: #0000ff;">Compare</span><span class="br0">&#40;</span>x <span style="color: #0000ff;">As</span> Classe1, y <span style="color: #0000ff;">As</span> Classe1<span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span> <span style="color: #0000ff;">Implements</span> IComparer<span class="br0">&#40;</span><span style="color: #0000ff;">Of</span> Classe1<span class="br0">&#41;</span>.Compare
        <span style="color: #0000ff;">Return</span> x.Nom.CompareTo<span class="br0">&#40;</span>y.Nom<span class="br0">&#41;</span>
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #0000ff;">Public</span> <span style="color: #0000ff;">Shared</span> <span style="color: #0000ff;">Function</span> Trier<span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> IComparer<span class="br0">&#40;</span><span style="color: #0000ff;">Of</span> Classe1<span class="br0">&#41;</span>
        <span style="color: #0000ff;">Return</span> <span style="color: #0000ff;">New</span> Classe1<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Class</span></pre></td></tr></table></code><hr />
</div>et j'effectue le tri de cette façon :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">ListeNoms.Sort<span class="br0">&#40;</span>Classe1.Trier<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></code><hr />
</div>Dans tous les exemples que j'ai pu trouver, la classe qui gere le tri est en dehors de la classe de l'objet.<br />
Ici ça a l'air de fonctionner correctement, mais est-ce que ça peut poser un probleme de l'avoir fait de cette manière ?</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>pqboot</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183712/dotnet/langages/vb-net/besoin-d-avis-icomparer/</guid>
		</item>
		<item>
			<title><![CDATA[Compilation d'un projet avec des images]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183492&amp;goto=newpost</link>
			<pubDate>Wed, 29 Apr 2026 17:34:52 GMT</pubDate>
			<description>Bonsoir, 
 
Je ne sais pas si...</description>
			<content:encoded><![CDATA[<div>Bonsoir,<br />
<br />
Je ne sais pas si je fais les choses dans le bon ordre, j ai fait un projet memory (le jeu ou on doit retrouver les images par paire), en insérant les images en tant que ressources, sauf qu'à la fin, j ai le fichier memory.exe dans le repertoire bin\debug et j ai un autre fichier memory.dll qui doit contenir des données importantes !<br />
<br />
Comment faire pour que tout l’exécutable soit dans un seul fichier complet ?<br />
<br />
Merci</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>Chris67550</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183492/dotnet/langages/vb-net/compilation-d-projet-images/</guid>
		</item>
		<item>
			<title><![CDATA[[Débutant] attendre entre 2 instructions]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183486&amp;goto=newpost</link>
			<pubDate>Wed, 29 Apr 2026 12:44:48 GMT</pubDate>
			<description>Bonjour à tous 
 
je ne...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous<br />
<br />
je ne comprends pas ce qu'il ne marche pas lorsque j effectue ceci :<br />
<br />
instruction 1<br />
Threading.Thread.Sleep(1000)<br />
instruction 2<br />
<br />
l'instruction 1 ne s effectue pas du tout, il y a bien une attente de 1s puis l instruction 2 s effectue (peut être que l’instruction 1 est effectuée après la pause sans que je ne le vois car l'instruction 2 écrase l'instruction 1)<br />
<br />
j'ai essayé d'autres techniques de pause, mais toujours le même problème !<br />
<br />
 Sub attente(temps_attente As Integer)<br />
<br />
     debut = Date.Now()<br />
     fin = Date.Now()<br />
<br />
     While DateDiff(&quot;s&quot;, debut, fin) &lt; temps_attente<br />
         fin = Date.Now()<br />
     End While<br />
<br />
 End Sub<br />
<br />
Merci beaucoup !</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>Chris67550</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183486/dotnet/langages/vb-net/attendre-entre-2-instructions/</guid>
		</item>
		<item>
			<title><![CDATA[Libération d'objet sous DirectShow]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2183222&amp;goto=newpost</link>
			<pubDate>Tue, 14 Apr 2026 21:37:36 GMT</pubDate>
			<description><![CDATA[Bonjour à tous, 
 
j'utilise...]]></description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
j'utilise DirectShow sous VB.Net.<br />
Tout à l'air de fonctionner correctement.<br />
Pour par exemple stopper le graph, j'utilise ce code :<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="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">        <span style="color: #0000ff;">Dim</span> ObjMediaControl <span style="color: #0000ff;">As</span> IMediaControl
&nbsp;
        ObjMediaControl = <span style="color: #0000ff;">CType</span><span class="br0">&#40;</span>objFilterGraph, IMediaControl<span class="br0">&#41;</span>
&nbsp;
        ObjMediaControl.Stop<span class="br0">&#40;</span><span class="br0">&#41;</span></pre></td></tr></table></code><hr />
</div>et je sais qu'il me faut ensuite utiliser ce code pour liberer la référence pointant sur cette Interface :<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="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 /></div></td><td valign="top"><pre style="margin: 0">	Marshal.ReleaseComObject<span class="br0">&#40;</span>ObjMediaControl<span class="br0">&#41;</span>
	ObjMediaControl = <span style="color: #0000ff;">Nothing</span></pre></td></tr></table></code><hr />
</div>Mais je sais aussi qu'il est possible d'eviter la création de &quot;ObjMediaControl&quot;, en écrivant directement :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">	<span style="color: #0000ff;">CType</span><span class="br0">&#40;</span>objFilterGraph, IMediaControl<span class="br0">&#41;</span>.Stop<span class="br0">&#40;</span><span class="br0">&#41;</span></code><hr />
</div>Mais dans ce cas, un &quot;objet&quot; intermédiaire est-il crée ? VB utilise t-il &quot;Marshal.ReleaseComObject&quot; ?<br />
Le pointeur sur l'Interface est-il vraiment liberé ? VB utilise t-il un autre mécanisme ?<br />
Dois-je m'inquieter ?</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>pqboot</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2183222/dotnet/langages/vb-net/liberation-d-objet-sous-directshow/</guid>
		</item>
		<item>
			<title><![CDATA[[Débutant] Excel/vba et vb.net: Propriété de type OBJECT "ingérable"]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182898&amp;goto=newpost</link>
			<pubDate>Fri, 27 Mar 2026 13:36:21 GMT</pubDate>
			<description>Bonjour à tous 
Je sais que...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous<br />
Je sais que pour vous c'est banal mais cela fait un bon moment et plusieurs tentatives que je cherche une solution. <br />
Donc si parmi vous certains connaissent vb.net et COM avec VBA et peuvent m'aider ce ne n'est pas de refus. Merci<br />
<br />
je suis en train de faire un portage de certaines parties d'un UDF VBA en vb.net.<br />
Je suis débutant en .NET.<br />
Mon problème est &quot;simple&quot; j'ai créé des classes en VB.Net et certaines propriétés doivent être des types Object. Pas le choix.<br />
Devinez!!<br />
Je bloque sur le fait que lorsque je veux passer une valeur à cette propriété de type Object je me fais &quot;jeter&quot;.<br />
pour exemple voici ce que j'ai fait:<br />
&lt;ComVisible(True)&gt;<br />
&lt;ClassInterface(ClassInterfaceType.AutoDual)&gt;<br />
Public Property ValueMax As Object<br />
Get<br />
Return _ValueMax<br />
End Get<br />
Set<br />
_ValueMax = Value<br />
End Set<br />
End Property<br />
Quelqu'un peut il m'aider à résoudre ce souci?<br />
Par avance merci à tous.<br />
<br />
P.S.:<br />
J'ai testé ma classe tant dans un projet vba/Excel toutes les propriétés sont bonnes sauf celles qui sont déclarées en type OBJECT.<br />
Sinon, pour voir j'ai aussi fait le test la classe à partir d'un projet console. Là pas de problème ... Nickel</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>Al Seven</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182898/dotnet/langages/vb-net/excel-vba-vb-net-propriete-type-object-ingerable/</guid>
		</item>
		<item>
			<title>Modifier element dans ListBox</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182649&amp;goto=newpost</link>
			<pubDate>Sun, 15 Mar 2026 00:08:59 GMT</pubDate>
			<description><![CDATA[Bonjour à tous, 
 
j'ai une...]]></description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
j'ai une ListBox que je rempli avec des objets crées à partir d'une Structure.<br />
J'insere les objets comme ceci :<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="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"><span style="color: #0000ff;">Dim</span> NewObjet <span style="color: #0000ff;">As</span> Struct1
&nbsp;
NewObjet = <span style="color: #0000ff;">New</span> Struct1
NewObjet.Nom = <span style="color: #FF0000;">&quot;Toto&quot;</span>
NewObjet.Age = <span style="color: #cc66cc;">145</span>
Me.ListBoxNom.Items.Add<span class="br0">&#40;</span>NewObjet<span class="br0">&#41;</span></pre></td></tr></table></code><hr />
</div>Quand je click sur un element de la ListBox, il affiche la valeur des differents membres dans des TextBox.<br />
<br />
Sur le formulaire, je peux modifier manuellement la valeur des TextBox,<br />
et j'ai un bouton pour valider les modifications. J'utilise ce code :<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="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 />8<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">Dim</span> NewObjet <span style="color: #0000ff;">As</span> Struct1
&nbsp;
Idx = Me.ListBoxNom.SelectedIndex
NewObjet = <span style="color: #0000ff;">New</span> Struct1
NewObjet.Age = Me.TextBoxAge.Text
NewObjet.Ville = Me.TextBoxVille.Text
Me.ListBoxNom.Items.Remove<span class="br0">&#40;</span>Me.ListBoxNom.SelectedItem<span class="br0">&#41;</span>
Me.ListBoxNom.Items.Insert<span class="br0">&#40;</span>Idx, NewObjet<span class="br0">&#41;</span></pre></td></tr></table></code><hr />
</div>et ça a l'air de bien fonctionner.<br />
<br />
Mais j'ai essayé cet autre code et ça a l'air de fonctionner aussi :<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="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"><span style="color: #0000ff;">Dim</span> NewObjet <span style="color: #0000ff;">As</span> Struct1
&nbsp;
NewObjet = <span style="color: #0000ff;">CType</span><span class="br0">&#40;</span>Me.ListBoxNom.SelectedItem, Struct1<span class="br0">&#41;</span>
NewObjet.Age = Me.TextBoxAge.Text
NewObjet.Ville = Me.TextBoxVille.Text
Me.ListBoxNom.Items.Item<span class="br0">&#40;</span>Me.ListBoxNom.SelectedIndex<span class="br0">&#41;</span> = NewObjet</pre></td></tr></table></code><hr />
</div>Je me dis que l'ancien objet n'etant plus référencé nul part une fois sorti de la Sub,<br />
le Garbage Collector doit se charger de sa destruction. Non ?</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>pqboot</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182649/dotnet/langages/vb-net/modifier-element-listbox/</guid>
		</item>
		<item>
			<title><![CDATA[[Débutant] Un 'ToolTip' récalcitrant]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182449&amp;goto=newpost</link>
			<pubDate>Wed, 04 Mar 2026 16:24:46 GMT</pubDate>
			<description><![CDATA[Bonjour, 
J'ai un formulaire...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
J'ai un formulaire qui contient une 'ListView' (LVCredits) qui, lorsque je lance le programme, contient 3 lignes de 4 colonnes. Tous les champs sont remplis.<br />
J'ai voulu avoir un 'ToolTip' sur la ligne survolée par la souris. J'ai mis 'ShowItemToolTips' a True(dans les propriétés de 'LVCredits') et j'ai créé une procédure comme trouvé sur Internet :<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="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> LVCredits_MouseMove<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> MouseEventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> LVCredits.MouseMove
        <span style="color: #0000ff;">Dim</span> InfoBulle <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">New</span> System.Windows.Forms.ToolTip
        <span style="color: #0000ff;">Dim</span> tooltipText <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> = <span style="color: #FF0000;">&quot;&quot;</span>
        <span style="color: #0000ff;">Dim</span> info <span style="color: #0000ff;">As</span> ListViewHitTestInfo = LVCredits.HitTest<span class="br0">&#40;</span>e.X, e.Y<span class="br0">&#41;</span>
&nbsp;
        <span style="color: #0000ff;">If</span> info.Item <span style="color: #0000ff;">IsNot</span> <span style="color: #0000ff;">Nothing</span> <span style="color: #0000ff;">Then</span>
            <span style="color: #808080;">' info-bulle pour l'&eacute;l&eacute;ment ou sous-&eacute;l&eacute;ment survol&eacute;</span>
            <span style="color: #0000ff;">If</span> info.SubItem <span style="color: #0000ff;">IsNot</span> <span style="color: #0000ff;">Nothing</span> <span style="color: #0000ff;">Then</span>
                tooltipText = info.Item.Text &amp; <span style="color: #FF0000;">&quot;  &quot;</span> &amp; info.SubItem.Text
            <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
            Label1.Text = tooltipText
            InfoBulle.SetToolTip<span class="br0">&#40;</span>LVCredits, tooltipText<span class="br0">&#41;</span>
        <span style="color: #0000ff;">Else</span>
            InfoBulle.SetToolTip<span class="br0">&#40;</span>LVCredits, <span style="color: #FF0000;">&quot;&quot;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span></pre></td></tr></table></code><hr />
</div>Le 'Label1.Text' m'affiche bien les informations relatives aux champs de la ListView mais aucune infobulle ne s'affiche ???. Je cale<br />
Merci à celui(ceux) qui veut(veuillent) bien m'aider.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>Gandalf59</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182449/dotnet/langages/vb-net/tooltip-recalcitrant/</guid>
		</item>
		<item>
			<title>Enregistrements depuis Outlook 365</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181818&amp;goto=newpost</link>
			<pubDate>Fri, 30 Jan 2026 11:44:34 GMT</pubDate>
			<description>Bonjour à toutes et tous. 
...</description>
			<content:encoded><![CDATA[<div>Bonjour à toutes et tous.<br />
<br />
Je m'adresse à vous car je souhaite développer un utilitaire me permettant d'enregistrer les mails dans un dossier d'affaire, sur un disque en particulier.<br />
<br />
Pour faire simple, j'entre le numéro de mon affaire dans ma TextBox en haut à gauche, je clique sur la loupe, ça trouve automatiquement le dossier dans lequel elle est rangée (suivant l'année de de l'afffaire).<br />
Ensuite, je sélectionne le service pour choisir le dossier dans lequel je souhaite enregistrer mon mail au format .msg.<br />
<br />
Jusque là, tout fonctionne bien, rien de compliqué.<br />
Là où je bloque, c'est pour récupérer les informations du mail en cours (ouvert après double-clic, ou bien le mail sélectionné dans mon arborescente Outlook 365).<br />
<br />
La macro ne veut à aucun moment détecter le mail en cours.<br />
<br />
Je me suis un peu renseigné, et je pense que Microsoft a complètement verrouillé la possibilité d'enregistrer des mails depuis des utilitaires externes, et étant donné que le VBA n'est plus intégré à Outlook, j'ai essayé de me tourner vers le VB.Net mais je n'arrive pas à m'en sortir.<br />
Je ne trouve aucun sujet sur internet concernant Outlook365, ni même aucun qui précise que le VBA n'y est plus possible... C'est très trouble comme fonctionnement 365 je trouve.<br />
<br />
Mon dernier recours, c'est vous, les bons vieux être humains ! &#128516;<br />
<br />
Je pense que mon problème provient de ma fonction GetSelectedMail.<br />
Est-ce que l'uns ou l'unes d'entre vous aurait une idée pour m'aiguiller ou connait la solution pour que cela fonctionne ?<br />
<br />
Dans l'idée, j'aimerais que le mail s'enregistre dans le format suivant:<br />
<br />
«Date» - «Expéditeur» à «Récepteur» et «Personnes en copie» - «Objet»<br />
Avec Date sous le format «YYYY MM DD»<br />
<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p673771d1769772895/dotnet/langages/vb-net/enregistrements-outlook-365/utilitaire.jpg/" border="0" alt="Nom : Utilitaire.jpg
Affichages : 149
Taille : 51,7 Ko"  style="float: CONFIG" /><br />
<br />
Enfin, voici mon code.<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 /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
&nbsp;
<span style="color: #0000ff;">Imports</span> Microsoft.Office.Interop
<span style="color: #0000ff;">Imports</span> System.IO
<span style="color: #0000ff;">Imports</span> System.Text.RegularExpressions
<span style="color: #0000ff;">Imports</span> System.Runtime.InteropServices
<span style="color: #0000ff;">Imports</span> Outlook = Microsoft.Office.Interop.Outlook
<span style="color: #0000ff;">Imports</span> Microsoft.VisualBasic
&nbsp;
&nbsp;
<span style="color: #0000ff;">Partial</span> <span style="color: #0000ff;">Class</span> Form1
    <span style="color: #0000ff;">Inherits</span> Form
&nbsp;
    <span style="color: #808080;">'####################   S'assurer que OUTLOOK est bien actif et trouve une fen&ecirc;tre  ####################</span>
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Function</span> GetSelectedMail<span class="br0">&#40;</span><span class="br0">&#41;</span> <span style="color: #0000ff;">As</span> Outlook.MailItem
&nbsp;
        <span style="color: #0000ff;">Dim</span> app <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span> = <span style="color: #0000ff;">Nothing</span>
&nbsp;
        <span style="color: #0000ff;">Try</span>
            app = GetObject<span class="br0">&#40;</span>, <span style="color: #FF0000;">&quot;Outlook.Application&quot;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">Catch</span>
            <span style="color: #0000ff;">Return</span> <span style="color: #0000ff;">Nothing</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Try</span>
&nbsp;
        <span style="color: #0000ff;">If</span> app <span style="color: #0000ff;">Is</span> <span style="color: #0000ff;">Nothing</span> <span style="color: #0000ff;">Then</span> <span style="color: #0000ff;">Return</span> <span style="color: #0000ff;">Nothing</span>
&nbsp;
&nbsp;
        <span style="color: #0000ff;">Try</span>
            AppActivate<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Outlook&quot;</span><span class="br0">&#41;</span>
            Threading.Thread.Sleep<span class="br0">&#40;</span><span style="color: #cc66cc;">150</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">Catch</span>
            <span style="color: #808080;">' Outlook pas trouv&eacute;</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Try</span>
&nbsp;
&nbsp;
        <span style="color: #0000ff;">Dim</span> insp <span style="color: #0000ff;">As</span> Outlook.Inspector = <span style="color: #0000ff;">Nothing</span>
        <span style="color: #0000ff;">Try</span>
            insp = app.ActiveInspector<span class="br0">&#40;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">Catch</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Try</span>
&nbsp;
        <span style="color: #0000ff;">If</span> insp <span style="color: #0000ff;">IsNot</span> <span style="color: #0000ff;">Nothing</span> <span style="color: #0000ff;">Then</span>
            <span style="color: #0000ff;">Dim</span> openedMail <span style="color: #0000ff;">As</span> Outlook.MailItem =
            <span style="color: #0000ff;">TryCast</span><span class="br0">&#40;</span>insp.CurrentItem, Outlook.MailItem<span class="br0">&#41;</span>
            <span style="color: #0000ff;">If</span> openedMail <span style="color: #0000ff;">IsNot</span> <span style="color: #0000ff;">Nothing</span> <span style="color: #0000ff;">Then</span>
                <span style="color: #0000ff;">Return</span> openedMail
            <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: #0000ff;">Dim</span> explorer <span style="color: #0000ff;">As</span> Outlook.Explorer = app.ActiveExplorer<span class="br0">&#40;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">If</span> explorer <span style="color: #0000ff;">Is</span> <span style="color: #0000ff;">Nothing</span> <span style="color: #0000ff;">Then</span> <span style="color: #0000ff;">Return</span> <span style="color: #0000ff;">Nothing</span>
        <span style="color: #0000ff;">If</span> explorer.Selection <span style="color: #0000ff;">Is</span> <span style="color: #0000ff;">Nothing</span> <span style="color: #0000ff;">OrElse</span> explorer.Selection.Count = <span style="color: #cc66cc;">0</span> <span style="color: #0000ff;">Then</span> <span style="color: #0000ff;">Return</span> <span style="color: #0000ff;">Nothing</span>
&nbsp;
        <span style="color: #0000ff;">Return</span> <span style="color: #0000ff;">TryCast</span><span class="br0">&#40;</span>explorer.Selection<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span><span class="br0">&#41;</span>, Outlook.MailItem<span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
    <span style="color: #808080;">'Private Function GetSelectedMail() As Outlook.MailItem</span>
    <span style="color: #808080;">'    Dim app As New Outlook.Application()</span>
    <span style="color: #808080;">'    Dim explorer As Outlook.Explorer = app.ActiveExplorer()</span>
&nbsp;
    <span style="color: #808080;">'    If explorer Is Nothing Then Return Nothing</span>
    <span style="color: #808080;">'    If explorer.Selection Is Nothing OrElse explorer.Selection.Count = 0 Then Return Nothing</span>
&nbsp;
    <span style="color: #808080;">'    Return TryCast(explorer.Selection(1), Outlook.MailItem)</span>
    <span style="color: #808080;">'End Function</span>
&nbsp;
    <span style="color: #808080;">'#######################################################################################################</span>
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> Form1_FormClosing<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> FormClosingEventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> Me.FormClosing
        <span style="color: #0000ff;">For</span> <span style="color: #0000ff;">Each</span> p <span style="color: #0000ff;">As</span> Process <span style="color: #0000ff;">In</span> Process.GetProcessesByName<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;MACROMAIL&quot;</span><span class="br0">&#41;</span>
            <span style="color: #0000ff;">Try</span>
                p.Kill<span class="br0">&#40;</span><span class="br0">&#41;</span>
            <span style="color: #0000ff;">Catch</span>
            <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Try</span>
        <span style="color: #0000ff;">Next</span>
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
    <span style="color: #808080;">'##############################   Format d'enregistrement   ############################################</span>
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> Form1_Load<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> EventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> MyBase.Load
        <span style="color: #808080;">' Ne rien faire au chargement</span>
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
    <span style="color: #808080;">'#######################################################################################################</span>
&nbsp;
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Function</span> SanitizeFileName<span class="br0">&#40;</span>fileName <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> invalidChars <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Char</span><span class="br0">&#40;</span><span class="br0">&#41;</span> = System.IO.Path.GetInvalidFileNameChars<span class="br0">&#40;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">For</span> <span style="color: #0000ff;">Each</span> c <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Char</span> <span style="color: #0000ff;">In</span> invalidChars
            <span style="color: #0000ff;">Select</span> <span style="color: #0000ff;">Case</span> c
                <span style="color: #0000ff;">Case</span> <span style="color: #FF0000;">&quot;/&quot;</span><span style="color: #FF0000;">c</span>
                    fileName = fileName.Replace<span class="br0">&#40;</span>c, <span style="color: #FF0000;">&quot;-&quot;</span><span style="color: #FF0000;">c</span><span class="br0">&#41;</span>
                <span style="color: #0000ff;">Case</span> <span style="color: #FF0000;">&quot;;&quot;</span><span style="color: #FF0000;">c</span>, <span style="color: #FF0000;">&quot;,&quot;</span><span style="color: #FF0000;">c</span>
                    fileName = fileName.Replace<span class="br0">&#40;</span>c, <span style="color: #FF0000;">&quot;.&quot;</span><span style="color: #FF0000;">c</span><span class="br0">&#41;</span>
                <span style="color: #0000ff;">Case</span> <span style="color: #0000ff;">Else</span>
                    fileName = fileName.Replace<span class="br0">&#40;</span>c, <span style="color: #FF0000;">&quot;_&quot;</span><span style="color: #FF0000;">c</span><span class="br0">&#41;</span> <span style="color: #808080;">' Remplace les autres caract&egrave;res invalides par un underscore</span>
            <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Select</span>
        <span style="color: #0000ff;">Next</span>
        <span style="color: #0000ff;">Return</span> fileName
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
&nbsp;
&nbsp;
    <span style="color: #808080;">'##################################################################</span>
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> BoutonChercher_Click<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> EventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> BoutonChercher.Click
&nbsp;
        <span style="color: #0000ff;">Dim</span> CheminAffaire = TrouverCheminAffaire<span class="br0">&#40;</span>TBNumAff.Text<span class="br0">&#41;</span>
&nbsp;
        <span style="color: #0000ff;">If</span> CheminAffaire &lt;&gt; String.Empty <span style="color: #0000ff;">Then</span>
            TBPath.Text = CheminAffaire
        <span style="color: #0000ff;">Else</span>
            MessageBox.Show<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Aucune affaire trouv&eacute;e.&quot;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Function</span> TrouverCheminAffaire<span class="br0">&#40;</span>numAff <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>
&nbsp;
        <span style="color: #0000ff;">If</span> String.IsNullOrWhiteSpace<span class="br0">&#40;</span>numAff<span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span> <span style="color: #0000ff;">Return</span> String.Empty
&nbsp;
        <span style="color: #0000ff;">Dim</span> dossierRacine <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> = <span style="color: #FF0000;">&quot;N:\&quot;</span>
        <span style="color: #0000ff;">Dim</span> anneeCourante <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span> = Date.Now.Year
        <span style="color: #0000ff;">Dim</span> anneeMin <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span> = <span style="color: #cc66cc;">2010</span>
&nbsp;
        <span style="color: #0000ff;">For</span> annee <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Integer</span> = anneeCourante <span style="color: #0000ff;">To</span> anneeMin <span style="color: #0000ff;">Step</span> <span style="color: #cc66cc;">-1</span>
&nbsp;
            <span style="color: #0000ff;">Dim</span> dossierAnnee <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> = Path.Combine<span class="br0">&#40;</span>dossierRacine, <span style="color: #FF0000;">&quot;AFFAIRE &quot;</span> &amp; annee<span class="br0">&#41;</span>
&nbsp;
            <span style="color: #0000ff;">If</span> Directory.Exists<span class="br0">&#40;</span>dossierAnnee<span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
                <span style="color: #0000ff;">For</span> <span style="color: #0000ff;">Each</span> dossierAffaire <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> <span style="color: #0000ff;">In</span> Directory.GetDirectories<span class="br0">&#40;</span>dossierAnnee<span class="br0">&#41;</span>
                    <span style="color: #0000ff;">If</span> Path.GetFileName<span class="br0">&#40;</span>dossierAffaire<span class="br0">&#41;</span>.Contains<span class="br0">&#40;</span>numAff<span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
                        <span style="color: #0000ff;">Return</span> dossierAffaire
                    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
                <span style="color: #0000ff;">Next</span>
            <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
        <span style="color: #0000ff;">Next</span>
&nbsp;
        <span style="color: #0000ff;">Return</span> String.Empty
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Function</span>
&nbsp;
&nbsp;
&nbsp;
&nbsp;
    <span style="color: #808080;">'########################   S&eacute;lectionner le dossier manuellement  ####################################</span>
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> BoutonPath_Click<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> EventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> BoutonPath.Click
&nbsp;
        <span style="color: #0000ff;">Dim</span> folderDialog <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">New</span> FolderBrowserDialog<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
&nbsp;
        <span style="color: #0000ff;">If</span> folderDialog.ShowDialog<span class="br0">&#40;</span><span class="br0">&#41;</span> = DialogResult.OK <span style="color: #0000ff;">Then</span>
            TBPath.Text = folderDialog.SelectedPath <span style="color: #808080;">' Remplacer TBPath par le nom r&eacute;el de votre TextBox</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
    <span style="color: #808080;">'########################   Rafra&icirc;chir le nom du fichier   ############################################</span>
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> BoutonRefresh_Click<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> EventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> BoutonRefresh.Click
&nbsp;
        <span style="color: #0000ff;">Dim</span> mailItem <span style="color: #0000ff;">As</span> Outlook.MailItem = GetSelectedMail<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #0000ff;">If</span> mailItem <span style="color: #0000ff;">Is</span> <span style="color: #0000ff;">Nothing</span> <span style="color: #0000ff;">Then</span>
            MessageBox.Show<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Veuillez s&eacute;lectionner un email dans Outlook.&quot;</span><span class="br0">&#41;</span>
            <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Sub</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        <span style="color: #0000ff;">Dim</span> dateFormat <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> = mailItem.SentOn.ToString<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;yyyy MM dd&quot;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">Dim</span> envoyeur <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> = <span style="color: #0000ff;">If</span><span class="br0">&#40;</span>mailItem.SenderEmailAddress, <span style="color: #FF0000;">&quot;Exp&eacute;diteur inconnu&quot;</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #0000ff;">Dim</span> recipients <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> = <span style="color: #FF0000;">&quot;&quot;</span>
        <span style="color: #0000ff;">If</span> <span style="color: #0000ff;">Not</span> String.IsNullOrWhiteSpace<span class="br0">&#40;</span>mailItem.To<span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
            recipients = String.Join<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;, &quot;</span>,
            mailItem.To.Split<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;;&quot;</span><span style="color: #FF0000;">c</span><span class="br0">&#41;</span>.Select<span class="br0">&#40;</span><span style="color: #0000ff;">Function</span><span class="br0">&#40;</span>s<span class="br0">&#41;</span> s.Trim<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        <span style="color: #0000ff;">Dim</span> cc <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> = <span style="color: #FF0000;">&quot;&quot;</span>
        <span style="color: #0000ff;">If</span> <span style="color: #0000ff;">Not</span> String.IsNullOrWhiteSpace<span class="br0">&#40;</span>mailItem.CC<span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
            cc = String.Join<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;, &quot;</span>,
            mailItem.CC.Split<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;;&quot;</span><span style="color: #FF0000;">c</span><span class="br0">&#41;</span>.Select<span class="br0">&#40;</span><span style="color: #0000ff;">Function</span><span class="br0">&#40;</span>s<span class="br0">&#41;</span> s.Trim<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        <span style="color: #0000ff;">Dim</span> subject <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> = <span style="color: #0000ff;">If</span><span class="br0">&#40;</span>mailItem.Subject, <span style="color: #FF0000;">&quot;&quot;</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #0000ff;">Dim</span> fileName <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> = <span style="color: #FF0000;">$</span><span style="color: #FF0000;">&quot;<span style="color: black;"><span class="br0">&#123;</span>dateFormat<span class="br0">&#125;</span></span> - <span style="color: black;"><span class="br0">&#123;</span>envoyeur<span class="br0">&#125;</span></span> &agrave; <span style="color: black;"><span class="br0">&#123;</span>recipients<span class="br0">&#125;</span></span> - <span style="color: black;"><span class="br0">&#123;</span>cc<span class="br0">&#125;</span></span> - <span style="color: black;"><span class="br0">&#123;</span>subject<span class="br0">&#125;</span></span>&quot;</span>
        TBName.Text = SanitizeFileName<span class="br0">&#40;</span>fileName<span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
&nbsp;
&nbsp;
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> BoutonSave_Click<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> EventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> BoutonSave.Click
&nbsp;
        <span style="color: #0000ff;">If</span> String.IsNullOrWhiteSpace<span class="br0">&#40;</span>TBPath.Text<span class="br0">&#41;</span> <span style="color: #0000ff;">OrElse</span> String.IsNullOrWhiteSpace<span class="br0">&#40;</span>TBName.Text<span class="br0">&#41;</span> <span style="color: #0000ff;">Then</span>
            MessageBox.Show<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Veuillez renseigner un chemin et un nom de fichier.&quot;</span><span class="br0">&#41;</span>
            <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Sub</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        <span style="color: #0000ff;">Dim</span> mailItem <span style="color: #0000ff;">As</span> Outlook.MailItem = GetSelectedMail<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
        <span style="color: #0000ff;">If</span> mailItem <span style="color: #0000ff;">Is</span> <span style="color: #0000ff;">Nothing</span> <span style="color: #0000ff;">Then</span>
            MessageBox.Show<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Veuillez s&eacute;lectionner un email dans Outlook.&quot;</span><span class="br0">&#41;</span>
            <span style="color: #0000ff;">Exit</span> <span style="color: #0000ff;">Sub</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
        <span style="color: #0000ff;">Dim</span> savePath <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> = Path.Combine<span class="br0">&#40;</span>TBPath.Text, TBName.Text &amp; <span style="color: #FF0000;">&quot;.msg&quot;</span><span class="br0">&#41;</span>
&nbsp;
        mailItem.SaveAs<span class="br0">&#40;</span>savePath, Outlook.OlSaveAsType.olMSG<span class="br0">&#41;</span>
        MessageBox.Show<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Email sauvegard&eacute; avec succ&egrave;s !&quot;</span><span class="br0">&#41;</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
&nbsp;
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> BoutonComm_Click<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> EventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> BoutonComm.Click
&nbsp;
&nbsp;
        <span style="color: #0000ff;">Dim</span> CheminAffaire <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> = TrouverCheminAffaire<span class="br0">&#40;</span>TBNumAff.Text<span class="br0">&#41;</span>
&nbsp;
        <span style="color: #0000ff;">If</span> CheminAffaire &lt;&gt; String.Empty <span style="color: #0000ff;">Then</span>
            TBPath.Text = CheminAffaire &amp; <span style="color: #FF0000;">&quot;1 - COMMERCIAL&quot;</span>
        <span style="color: #0000ff;">Else</span>
            MessageBox.Show<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Aucune affaire trouv&eacute;e.&quot;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> BoutonBE_Click<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> EventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> BoutonBE.Click
&nbsp;
&nbsp;
        <span style="color: #0000ff;">Dim</span> CheminAffaire <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">String</span> = TrouverCheminAffaire<span class="br0">&#40;</span>TBNumAff.Text<span class="br0">&#41;</span>
&nbsp;
        <span style="color: #0000ff;">If</span> CheminAffaire &lt;&gt; String.Empty <span style="color: #0000ff;">Then</span>
            TBPath.Text = CheminAffaire &amp; <span style="color: #FF0000;">&quot;1 - BE&quot;</span>
        <span style="color: #0000ff;">Else</span>
            MessageBox.Show<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Aucune affaire trouv&eacute;e.&quot;</span><span class="br0">&#41;</span>
        <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span>
&nbsp;
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
    <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">Sub</span> Button1_Click<span class="br0">&#40;</span>sender <span style="color: #0000ff;">As</span> <span style="color: #0000ff;">Object</span>, e <span style="color: #0000ff;">As</span> EventArgs<span class="br0">&#41;</span> <span style="color: #0000ff;">Handles</span> Button1.Click
        Hide<span class="br0">&#40;</span><span class="br0">&#41;</span>
    <span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Sub</span>
&nbsp;
<span style="color: #0000ff;">End</span> <span style="color: #0000ff;">Class</span></pre></td></tr></table></code><hr />
</div>Merci d'avance pour votre aide.<br />
<br />
Beoden</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/p673771d1769772895/dotnet/langages/vb-net/enregistrements-outlook-365/utilitaire.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>Beoden</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181818/dotnet/langages/vb-net/enregistrements-outlook-365-a/</guid>
		</item>
		<item>
			<title><![CDATA[[Débutant] Problème suppression fichier Visual Studio VB]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181598&amp;goto=newpost</link>
			<pubDate>Tue, 20 Jan 2026 10:00:21 GMT</pubDate>
			<description><![CDATA[J'ai un problème de...]]></description>
			<content:encoded><![CDATA[<div>J'ai un problème de suppression de fichier avec  Visual Studio 2026 , je rentre le code :<br />
<br />
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click<br />
<br />
        IO.Directory.Delete(&quot;C:\Users\UTILISATEUR\Desktop\A voir.txt&quot;)<br />
<br />
    End Sub<br />
<br />
Et je me retrouve avec l'erreur:<br />
<br />
System.IO.IOException*: 'La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte.: <br />
'L:\Formation Visual Basic\Tuto\Tuto 25\Tuto 25\bin\Debug\net10.0-windows\&#8234;C:\Users\UTILISATEUR\Desktop\A voir.txt'.'<br />
<br />
Si je peut avoir quelques pistes merci</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>M.Jacque</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181598/dotnet/langages/vb-net/probleme-suppression-fichier-visual-studio-vb/</guid>
		</item>
	</channel>
</rss>
