<?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>Sun, 12 Apr 2026 15:59: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 - VB.NET</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<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 : 102
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>
		<item>
			<title>Installation powerpack sous vb2022</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181541&amp;goto=newpost</link>
			<pubDate>Sat, 17 Jan 2026 14:40:46 GMT</pubDate>
			<description><![CDATA[Bonjour 
 
J'ai quitté une...]]></description>
			<content:encoded><![CDATA[<div>Bonjour<br />
<br />
J'ai quitté une installation vb2012 et installé 2022. Très peu de difficulté mais un gros os<br />
Sous 2012 j'utilisais rectangleshape que je ne retrouve pas en standard dans la boîte d'outils 'Control. Recherche, localisation, téléchargement et enfin installation  de<br />
 Visual Basic Power Packs 3.0 l'installation se termine par un message sibyllin &quot;ajouté mais non actif dans le concepteur actif&quot;<br />
Dans la boite à outilles quelques control du power pack sont listés mas ils restent inertes lorsque je cherche à les utiliser, d'où ma question<br />
<br />
Comment intégrer les éléments du power pack dans le concepteur actif?<br />
<br />
Merci de votre aide</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>ernie74</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181541/dotnet/langages/vb-net/installation-powerpack-sous-vb2022/</guid>
		</item>
		<item>
			<title><![CDATA[[Débutant] Calculs avec des dates]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180517&amp;goto=newpost</link>
			<pubDate>Tue, 18 Nov 2025 09:15:37 GMT</pubDate>
			<description>Bonjour le Forum, 
 
Je...</description>
			<content:encoded><![CDATA[<div>Bonjour le Forum,<br />
<br />
Je souhaiterais trouver un code VB.net qui me permette de faire ce calcul Excel <br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">la cellule H5 a ce calcul =<span class="br0">&#40;</span><span class="br0">&#40;</span>C5/<span class="br0">&#40;</span>H4-G4+<span style="color: #cc66cc;">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span>*<span class="br0">&#40;</span>C4-B4+<span style="color: #cc66cc;">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span>+<span class="br0">&#40;</span><span class="br0">&#40;</span>E5/<span class="br0">&#40;</span>H4-G4+<span style="color: #cc66cc;">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span>*<span class="br0">&#40;</span>E4-D4+<span style="color: #cc66cc;">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span></code><hr />
</div>En rouge ce sont les données saisies par l'utilisateur<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p671873d1763456866/dotnet/langages/vb-net/calculs-dates/feuille-excel-calcul.png/" border="0" alt="Nom : Feuille Excel Calcul.png
Affichages : 244
Taille : 13,6 Ko"  style="float: CONFIG" /><br />
<br />
Merci pour votre aide.</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/p671873d1763456866/dotnet/langages/vb-net/calculs-dates/feuille-excel-calcul.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>Tempus01</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180517/dotnet/langages/vb-net/calculs-dates/</guid>
		</item>
		<item>
			<title>Resources.designer.vb inacessible par la (ré)-Génération depuis quelques jour en  VB.NET 8</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180425&amp;goto=newpost</link>
			<pubDate>Wed, 12 Nov 2025 09:13:17 GMT</pubDate>
			<description>Bonjour, 
 
Malgré ChatGPT 5...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Malgré ChatGPT 5 d'aucune aide sur ce coup, j'ai un problème pas banal avec My Project/Resources.designer.vb. Il n'est plus (ré)-généré par les commandes de VS 2022 dernière version.<br />
<br />
Les mises à jour de nouvelle ressources (images) enregistrées dans  'Resources'  n'apparaisse plus dans My Project/Resources.designer.vb?  Malgré 'Générer' , 'nettoyage de solution' , 'Générer' et 'Regénérer' rien ne change. <br />
<br />
Avant je travaillais sous 4.81 framwork et ce problème ne se présenté pas. Mauvaise frappe dans une option?  La migration est-elle le problème? On dirait que My Project/Resources.designer.vb  n'est plus modifiable! J'ai essayé sur un autre PC avec aussi VS à jour et j'ai le même problème.<br />
<br />
Après enregistrement rien n'est pris en compte, exemple :<br />
 If Pieces = &quot;ZZZ&quot; Then PicZ(Tag).Image = My.Resources.ZZZ =&gt; erreur BC30456 etc... ZZZ est bien un  BMP.    De plus ZZZ est la seule image de ce nom dans 'resources'.<br />
<br />
Par contre en ajoutant à la main dans Resources.designer.vb<br />
    '''&lt;summary&gt;<br />
   '''  Recherche une ressource localisée de type System.Drawing.Bitmap.<br />
   '''&lt;/summary&gt;<br />
   Friend ReadOnly Property ZZZ() As System.Drawing.Bitmap<br />
       Get<br />
           Dim obj As Object = ResourceManager.GetObject(&quot;CaseI&quot;, resourceCulture)<br />
           Return CType(obj, System.Drawing.Bitmap)<br />
       End Get<br />
   End Property <br />
   Si j'écrit cela   If Pieces = &quot;ZZZ&quot; Then PicZ(Tag).Image = My.Resources.ZZZ  ne bug pas mais l'image ne s'affiche pas !!!<br />
   Si j'écrit cela  If Pieces = &quot;ZZZ&quot; Then PicZ(Tag).Image = Image.FromFile(Disk &amp; &quot;/ABC/resources/ZZZ.bmp&quot;)  cela fonctionne très bien mais l'adresse n'est pas flottante ! Dur pour la diffusion !<br />
  pour rappel Tag est une valeur numérique défini dans le programme. <br />
<br />
Si vous avez eu ce problème ou suggestion pour la solution je suis bien sur preneur.<br />
<br />
En vous remerciant par avance<br />
<br />
A l'intention du Superviseur : C'est curieux le code ne s'affiche pas dans leurs fenêtres habituel malgré l'utilisation du # du site developpez.com !</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>excalybur</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180425/dotnet/langages/vb-net/resources-designer-vb-inacessible-re-generation-quelques-jour-vb-net-8-a/</guid>
		</item>
		<item>
			<title>Recherche téléchargement pour réinstaller vb2012</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180373&amp;goto=newpost</link>
			<pubDate>Mon, 10 Nov 2025 08:37:30 GMT</pubDate>
			<description>Bonjour, 
 
Obligé de...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Obligé de recharger W11, je n'arrive pas à localise une version de VB2012 pour reprendre mon activité de programmation<br />
Merci pour l'URL de téléchargement s'il existe..<br />
<br />
<br />
<br />
A+</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>ernie74</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180373/dotnet/langages/vb-net/recherche-telechargement-reinstaller-vb2012/</guid>
		</item>
		<item>
			<title><![CDATA[[Débutant] Rendre active une form]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180254&amp;goto=newpost</link>
			<pubDate>Mon, 03 Nov 2025 10:13:25 GMT</pubDate>
			<description><![CDATA[Bonjour 
J'ai crée une...]]></description>
			<content:encoded><![CDATA[<div>Bonjour<br />
J'ai crée une application, une forme (en vb) qui lance une autre application, en occurrence XnviewMP (pour visualiser des photos).<br />
Ceci fonctionne correctement.<br />
Mon soucis est que c'est la fenêtre XnviewMP qui reste active, je souhaiterai que mon appli redevienne active automatiquement.<br />
<br />
Merci</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>Pyrof</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180254/dotnet/langages/vb-net/rendre-active-form/</guid>
		</item>
		<item>
			<title><![CDATA[[Débutant] Gestion d'écran d'un PC]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180231&amp;goto=newpost</link>
			<pubDate>Sat, 01 Nov 2025 09:44:11 GMT</pubDate>
			<description>Bonjour, 
 
Je voudrais en vb...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Je voudrais en vb pouvoir gérer les écrans d'un PC<br />
1) savoir si 1 ou 2 écrans<br />
2) si 2 écrans comment les paramétrer en &quot;Dupliquer&quot; ou &quot;Etendre&quot;<br />
3 comment forcer une application (un process) sur le second écran<br />
<br />
Merci</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>Pyrof</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180231/dotnet/langages/vb-net/gestion-d-ecran-d-pc/</guid>
		</item>
		<item>
			<title><![CDATA[visual basic 2022 et Marshal.GetActiveObject("Excel.Application"), GetActiveObject qui est en erreur]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180124&amp;goto=newpost</link>
			<pubDate>Mon, 27 Oct 2025 20:35:12 GMT</pubDate>
			<description><![CDATA[Bonjour, j'ai plusieurs...]]></description>
			<content:encoded><![CDATA[<div>Bonjour, j'ai plusieurs programmes que j'ai fait avec visual basic 2019 dans les quelles j'ouvre des fichiers excel avec la commande : Dim xlApp As Excel.Application = Marshal.GetActiveObject(&quot;Excel.Application&quot;). Impossible de faire cela avec la version 2022 car : 'getactiveobject' ne fais plus partie de Marshall. J'ai cherché une solution sur plusieurs forum mais rien ne fonctionne pour moi. Est-ce encore possible d'ouvrir des fichiers excel avec visual basic version 2022? Si oui, est-ce que quelqu'un pourrait me donner la solution ou m'enligner sur quelque chose qui fonctionne.<br />
<br />
Merci!</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>infodes</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180124/dotnet/langages/vb-net/visual-basic-2022-marshal-getactiveobject-excel-application-getactiveobject-erreur/</guid>
		</item>
		<item>
			<title><![CDATA[Passage de Framework 4.81 à .NET 8.0. Retour d'expérience.]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180101&amp;goto=newpost</link>
			<pubDate>Sun, 26 Oct 2025 14:14:26 GMT</pubDate>
			<description>Bonjour, 
 
Tous est dans le...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Tous est dans le titre! En clair j'avais un programme de 20000 lignes que j'ai converti directement en .NET 8.0 parce que cette version est stable à long terme. 9.0 ne l'est pas encore. <br />
<br />
Les principales difficultés à prévoir selon la littérature :<br />
- API obsolètes<br />
- Patch obsolètes (Nugets)<br />
- Gestion des Paintbox anarchique (code et affichage lent).<br />
- Gestion des moves de la souris<br />
- Affichage lent de la page 'design' s'il y a beaucoup de Paintbox<br />
- Affichage partiel des toolstripbox<br />
- Affichage partiel des paintbox<br />
- Et 55 bricoles de code divers à ajuster.<br />
<br />
La conversion en soit est très rapide et une fois fait je me suis retrouvé avec 2560 erreurs. Rien de bien grave car 98% des erreurs étaient issues de 2 erreurs d'initialisation dans le Form1_Load ! Bingo ! <br />
J'ai réorganiser mon Form1_Load en regroupant par famille. Exemple partiel du code :<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: #808080;">' 0) le Form re&ccedil;oit les KeyDown m&ecirc;me si un contr&ocirc;le a le focus</span>
 Me.KeyPreview = <span style="color: #0000ff;">True</span>
&nbsp;
 <span style="color: #808080;">' 1) Handlers et visibilit&eacute; initiale</span>
 RegisterToolStripMouseEnterHandlers<span class="br0">&#40;</span><span class="br0">&#41;</span>
 SetEssentialToolStripVisible<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp;
 <span style="color: #808080;">' 2) Handlers globaux et r&eacute;cursifs</span>
 <span style="color: #0000ff;">AddHandler</span> MouseDown, <span style="color: #0000ff;">AddressOf</span> Controle_MouseDown
 <span style="color: #0000ff;">AddHandler</span> Me.DragEnter, <span style="color: #0000ff;">AddressOf</span> PictureBox_DragEnter
 AjouterHandlersRecursif<span class="br0">&#40;</span><span style="color: #0000ff;">Me</span><span class="br0">&#41;</span>
&nbsp;
 <span style="color: #808080;">' 3) Chargement des images et refresh du panneau des pi&egrave;ces</span>
 ChargerImagesDesPieces<span class="br0">&#40;</span><span class="br0">&#41;</span>
 TableauPieces1.Invalidate<span class="br0">&#40;</span><span class="br0">&#41;</span>
 TableauPieces1.Refresh<span class="br0">&#40;</span><span class="br0">&#41;</span></pre></td></tr></table></code><hr />
</div> etc.<br />
<br />
Du coup une bien meilleure visibilité qui m'a permis d'identifier les handlers, les API et les mouses move à modifier. <br />
<br />
Une fois fait il reste 'seulement' 55 erreurs ! Lesquelles sont toutes des erreurs d'écriture de code lié aux différences entre 4.81 et 8.0. Rien de compliqué il m'a fallu 3 heures pour en venir à bout.<br />
<br />
<b>Le plus difficile : </b> Faire les test et le debug ! Le plus long dans mon cas a été de modifier les propriétés des paintbox en enabled=true dès l'ouverture soit une écriture d'environ 200 lignes de plus. Et de comparer les propriétés des ToolStrip <br />
pour les harmoniser affin qu'ils s'affichent. En 4.81 il n'y avait pas de problème mais en 8.0 la rigueur est la règle ! Il y a eu une centaine de lignes de code à optimiser pour divers bug. <br />
<br />
Une fois fait l'exe s'ouvre en une fraction de seconde contre 7s en 4.81 =&gt; un gain énorme en qualité<br />
L'affichage est plus rapide aussi. Petite amélioration du temps de fonctionnement des routines en général.<br />
<br />
Le défaut uniquement coté programmeur : Affichage lent de la page 'design' s'il y a beaucoup de Paintbox<br />
<br />
Bilan tout marche nickel et 11 heures de travail. On a vu pire !<br />
<br />
Partagez votre expérience de conversion ça nous intéresse.<br />
<br />
A vous lire</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>excalybur</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180101/dotnet/langages/vb-net/passage-framework-4-81-net-8-0-retour-d-experience/</guid>
		</item>
		<item>
			<title><![CDATA[Récupérer les Exif d'un fichier JPG (photo)]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2179685&amp;goto=newpost</link>
			<pubDate>Mon, 06 Oct 2025 16:21:02 GMT</pubDate>
			<description>Bonjour, 
Je suis débutant en...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
Je suis débutant en VB et je souhaiterai pouvoir récupérer les valeurs Exif d'un fichier JPG (photo), et de créer un écran de visualisation de ces données. Pour la partie écran, je n'ai pas de problème. Pour les Exifs j'ai déjà récupérer des choses mais les résultats ne sont pas correctes, du style le temps de pose ne peut dépasser 1 seconde. Quelqu'un aurait-il travailler sur ce sujet.<br />
Merci</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f486/dotnet/langages/vb-net/">VB.NET</category>
			<dc:creator>Pyrof</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2179685/dotnet/langages/vb-net/recuperer-exif-d-fichier-jpg-photo/</guid>
		</item>
		<item>
			<title><![CDATA[[Débutant] erreur System OperationCanceledException]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2179188&amp;goto=newpost</link>
			<pubDate>Thu, 11 Sep 2025 21:14:09 GMT</pubDate>
			<description>bonjour 
je suis debutant....</description>
			<content:encoded><![CDATA[<div>bonjour<br />
je suis debutant.<br />
je viens de créer un petit programme , j’ai une fenêtre  &quot;Accès au fichier refusé avec le message et les 3 boutons continuer ignorer et annuler&quot;<br />
si je fais continuer le programme suis son cour , si je fais ignorer ou annuler il me bloque avec  System.OperationCanceledException.<br />
<br />
une petite idée ou info afin de outrepasser ce petit problème .<br />
<br />
merci d'avance</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/p670246d1757625131/dotnet/langages/vb-net/erreur-system-operationcanceledexception/error.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>cisco38</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2179188/dotnet/langages/vb-net/erreur-system-operationcanceledexception/</guid>
		</item>
	</channel>
</rss>
