<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Excel Plus</title>
	<atom:link href="http://www.excel-plus.fr/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.excel-plus.fr/</link>
	<description>Deviens un Pro de Excel !</description>
	<lastBuildDate>Sat, 15 Nov 2025 09:19:33 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>Les macros complémentaires</title>
		<link>https://www.excel-plus.fr/vba/les-macros-complementaires/</link>
					<comments>https://www.excel-plus.fr/vba/les-macros-complementaires/#respond</comments>
		
		<dc:creator><![CDATA[Abdel]]></dc:creator>
		<pubDate>Sat, 15 Nov 2025 09:19:33 +0000</pubDate>
				<category><![CDATA[vba]]></category>
		<guid isPermaLink="false">https://www.excel-plus.fr/uncategorized/les-macros-complementaires/</guid>

					<description><![CDATA[<p>Notions à retenir Les fichiers de macros complémentaires (.xla ou .xlam) regroupent plusieurs macros chargées automatiquement au lancement d&#8217;Excel Ces [&#8230;]</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/les-macros-complementaires/">Les macros complémentaires</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Notions à retenir</strong></p>
<ul>
<li>Les fichiers de macros complémentaires (.xla ou .xlam) regroupent plusieurs macros chargées automatiquement au lancement d&rsquo;Excel</li>
<li>Ces compléments s&rsquo;intègrent directement dans les barres d&rsquo;outils et menus d&rsquo;Excel de manière transparente</li>
<li>La création nécessite d&rsquo;enregistrer un classeur de macros au format .xla avec des propriétés définies</li>
</ul>
<h2>Qu&rsquo;est-ce qu&rsquo;une macro complémentaire Excel</h2>
<p>Les macros complémentaires sont des fichiers spéciaux de format .xla (Excel 97-2003) ou .xlam (Excel 2007 et versions ultérieures) qui contiennent un ensemble de macros. Contrairement aux macros stockées dans des classeurs traditionnels, ces compléments se chargent automatiquement en mémoire au démarrage d&rsquo;Excel et restent disponibles indépendamment des classeurs ouverts.</p>
<p>Le système met automatiquement à jour les barres d&rsquo;outils, menus et fonctions pour intégrer ces nouvelles macros de façon transparente.</p>
<h2>Compléments installés par défaut</h2>
<p>Excel propose généralement plusieurs compléments préinstallés accessibles via le menu des compléments :</p>
<ul>
<li>Utilitaire d&rsquo;analyse</li>
<li>Complément Euro</li>
<li>Solveur</li>
<li>Complément d&rsquo;enregistrement automatique</li>
</ul>
<h2>Avantages des macros complémentaires</h2>
<p>Les macros complémentaires présentent plusieurs atouts majeurs :</p>
<ul>
<li><strong>Distribution simplifiée :</strong> Installation en un clic avec fichiers facilement distribuables</li>
<li><strong>Gestion centralisée :</strong> Activation et désactivation rapide depuis la liste des compléments</li>
<li><strong>Intégration transparente :</strong> Ajout automatique de commandes et fonctions dans l&rsquo;interface</li>
<li><strong>Interface allégée :</strong> Les macros ne surchargent pas la liste standard des macros</li>
</ul>
<h2>Créer une macro complémentaire personnalisée</h2>
<p>La procédure de création suit ces étapes essentielles :</p>
<p><strong>Étape 1 :</strong> Créez votre classeur contenant les macros testées et fonctionnelles.</p>
<p><strong>Étape 2 :</strong> Modifiez les propriétés du fichier via FICHIER puis PROPRIÉTÉS. Complétez obligatoirement les champs « Titre » et « Commentaire » car ils apparaîtront dans la boîte de dialogue des compléments.</p>
<p><strong>Étape 3 :</strong> Enregistrez le fichier en sélectionnant le format « .xla » ou « .xlam » selon votre version d&rsquo;Excel. Le système sélectionne automatiquement le dossier des compléments comme destination.</p>
<p>Une fois créé, le complément apparaît dans la liste des compléments disponibles et peut être activé ou désactivé selon les besoins.</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/les-macros-complementaires/">Les macros complémentaires</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.excel-plus.fr/vba/les-macros-complementaires/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Indiquer le n° de semaine à partir d’une date</title>
		<link>https://www.excel-plus.fr/vba/excodes/desactiver-un-mot-de-passe-sur-une-feuille-excel/</link>
					<comments>https://www.excel-plus.fr/vba/excodes/desactiver-un-mot-de-passe-sur-une-feuille-excel/#respond</comments>
		
		<dc:creator><![CDATA[Abdel]]></dc:creator>
		<pubDate>Sat, 15 Nov 2025 09:17:22 +0000</pubDate>
				<category><![CDATA[excodes]]></category>
		<guid isPermaLink="false">https://www.excel-plus.fr/uncategorized/desactiver-un-mot-de-passe-sur-une-feuille-excel/</guid>

					<description><![CDATA[<p>Notions à retenir La fonction NO.SEMAINE permet d&#8217;obtenir automatiquement le numéro de semaine correspondant à une date dans Excel Cette [&#8230;]</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/excodes/desactiver-un-mot-de-passe-sur-une-feuille-excel/">Indiquer le n° de semaine à partir d’une date</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Notions à retenir</strong></p>
<ul>
<li>La fonction NO.SEMAINE permet d&rsquo;obtenir automatiquement le numéro de semaine correspondant à une date dans Excel</li>
<li>Cette fonction prend deux paramètres : la date (numéro de série) et la méthode de calcul du premier jour de semaine</li>
<li>Pour Excel 2003, il faut activer la macro complémentaire « Utilitaire d&rsquo;Analyse »</li>
</ul>
<h2>La fonction NO.SEMAINE dans Excel</h2>
<p>La fonction NO.SEMAINE s&rsquo;avère particulièrement utile dans les applications de planning pour déterminer automatiquement le numéro de semaine d&rsquo;une date donnée. Cette fonction évite la consultation manuelle d&rsquo;un calendrier et automatise le processus de numérotation des semaines.</p>
<p><strong>Syntaxe de la fonction :</strong></p>
<p><code>=NO.SEMAINE(numéro de série;méthode)</code></p>
<p><strong>Paramètres détaillés :</strong></p>
<p><strong>Numéro de série :</strong> Ce paramètre représente la date à analyser. Il peut être saisi de plusieurs façons :</p>
<ul>
<li>Référence à une cellule contenant une date (ex: A1)</li>
<li>Utilisation de la fonction DATE pour une saisie directe (ex: DATE(2024;3;15))</li>
<li>Saisie directe d&rsquo;une date entre guillemets</li>
</ul>
<p><strong>Méthode :</strong> Ce paramètre définit le premier jour de la semaine pour le calcul :</p>
<ul>
<li>1 (valeur par défaut) : la semaine commence le dimanche</li>
<li>2 : la semaine commence le lundi</li>
</ul>
<p><strong>Compatibilité et activation :</strong></p>
<p>Cette fonction est intégrée nativement dans Excel 2007 et les versions ultérieures. Pour les utilisateurs d&rsquo;Excel 2003, l&rsquo;activation de la macro complémentaire « Utilitaire d&rsquo;Analyse » est nécessaire pour accéder à cette fonctionnalité.</p>
<p><img decoding="async" src="https://www.excel-plus.fr/wp-content/uploads/2025/11/Les-macros-complémentaires-1.jpg" alt="Activation des macros complémentaires Excel"></p>
<p><strong>Exemples d&rsquo;utilisation pratique :</strong></p>
<ul>
<li><code>=NO.SEMAINE(A1;2)</code> : retourne le numéro de semaine de la date en A1, avec lundi comme premier jour</li>
<li><code>=NO.SEMAINE(DATE(2024;6;15);1)</code> : retourne le numéro de semaine du 15 juin 2024, avec dimanche comme premier jour</li>
</ul>
<p>L’article <a href="https://www.excel-plus.fr/vba/excodes/desactiver-un-mot-de-passe-sur-une-feuille-excel/">Indiquer le n° de semaine à partir d’une date</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.excel-plus.fr/vba/excodes/desactiver-un-mot-de-passe-sur-une-feuille-excel/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Créer un fichier log sur l’utilisation d’un classeur Excel</title>
		<link>https://www.excel-plus.fr/vba/excodes/creer-un-fichier-log-sur-lutilisation-dun-classeur-excel/</link>
					<comments>https://www.excel-plus.fr/vba/excodes/creer-un-fichier-log-sur-lutilisation-dun-classeur-excel/#respond</comments>
		
		<dc:creator><![CDATA[Abdel]]></dc:creator>
		<pubDate>Sat, 15 Nov 2025 09:17:09 +0000</pubDate>
				<category><![CDATA[excodes]]></category>
		<guid isPermaLink="false">https://www.excel-plus.fr/uncategorized/creer-un-fichier-log-sur-lutilisation-dun-classeur-excel/</guid>

					<description><![CDATA[<p>Notions à retenir VBA permet de créer un fichier texte pour tracer automatiquement toutes les modifications apportées aux cellules Excel [&#8230;]</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/excodes/creer-un-fichier-log-sur-lutilisation-dun-classeur-excel/">Créer un fichier log sur l’utilisation d’un classeur Excel</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Notions à retenir</strong></p>
<ul>
<li>VBA permet de créer un fichier texte pour tracer automatiquement toutes les modifications apportées aux cellules Excel</li>
<li>Le système utilise des procédures événementielles (Worksheet_Change et Worksheet_SelectionChange) couplées à une procédure d&rsquo;écriture</li>
<li>Cette solution nécessite la déclaration de variables publiques et l&rsquo;utilisation des instructions Open, Print et Close pour la gestion du fichier</li>
</ul>
<h2>Créer un système de traçabilité des modifications Excel avec VBA</h2>
<p>VBA offre la possibilité d&rsquo;interagir avec d&rsquo;autres fichiers et applications, notamment pour créer un fichier texte qui enregistre automatiquement toutes les modifications apportées à un classeur Excel. Cette fonctionnalité permet de tracer les changements, identifier l&rsquo;utilisateur responsable et horodater chaque modification.</p>
<p><img decoding="async" src="https://www.excel-plus.fr/wp-content/uploads/2025/11/Indiquer-le-n°-de-semaine-à-partir-d'une-date-1.jpg" alt="Interface VBA Excel" /></p>
<h2>Déclaration des variables globales</h2>
<p>La première étape consiste à déclarer les variables publiques dans un module VBA (ALT+F11). Ces variables stockeront les informations relatives à chaque modification :</p>
<pre><code>Public reference As String
Public feuille As String
Public av As String ' ancienne valeur
Public nv As String ' nouvelle valeur
Public utilisateur As String
Public datemodif As String</code></pre>
<h2>Procédure d&rsquo;écriture du fichier texte</h2>
<p>La macro d&rsquo;écriture utilise les instructions Open, Print et Close pour créer et alimenter le fichier de traçabilité. Le fichier sera automatiquement créé lors de la première utilisation :</p>
<pre><code>Sub ecriture()
Open "c:excel-plus.txt" For Append As 1
Print #1, "— Modification du fichier —"
Print #1, "La cellule " & reference & " a été modifiée, dans la feuille " & feuille
Print #1, "Ancienne valeur : " & av
Print #1, "Nouvelle valeur : " & nv
Print #1, "Changée par : " & utilisateur
Print #1, "Modifiée le : " & datemodif
Close 1
End Sub</code></pre>
<p><img decoding="async" src="https://www.excel-plus.fr/wp-content/uploads/2025/11/Indiquer-le-n°-de-semaine-à-partir-d'une-date-2.jpg" alt="Code VBA procédures événementielles" /></p>
<h2>Procédures événementielles</h2>
<p>Deux procédures événementielles doivent être intégrées dans chaque feuille de calcul concernée. La première capture les modifications apportées aux cellules :</p>
<pre><code>Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
nv = Target.Value
Else
nv = "Valeur inconnue"
End If
utilisateur = Environ("Username")
datemodif = Now
reference = Target.Address
feuille = Target.Worksheet.Name
Call ecriture
End Sub</code></pre>
<p>La seconde procédure enregistre la valeur de la cellule avant modification :</p>
<pre><code>Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 Then
av = Target.Value
Else
av = "Valeur inconnue"
End If
End Sub</code></pre>
<p>Ce système fonctionne uniquement pour les sélections de cellules simples. Il est essentiel de vérifier les droits d&rsquo;écriture sur l&#8217;emplacement du fichier, particulièrement en environnement réseau ou multi-utilisateurs.</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/excodes/creer-un-fichier-log-sur-lutilisation-dun-classeur-excel/">Créer un fichier log sur l’utilisation d’un classeur Excel</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.excel-plus.fr/vba/excodes/creer-un-fichier-log-sur-lutilisation-dun-classeur-excel/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Créer un fichier à fermeture programmée – ActiveWorkbook.close</title>
		<link>https://www.excel-plus.fr/vba/excodes/creer-un-fichier-a-fermeture-programmee/</link>
					<comments>https://www.excel-plus.fr/vba/excodes/creer-un-fichier-a-fermeture-programmee/#respond</comments>
		
		<dc:creator><![CDATA[Abdel]]></dc:creator>
		<pubDate>Sat, 15 Nov 2025 09:16:53 +0000</pubDate>
				<category><![CDATA[excodes]]></category>
		<guid isPermaLink="false">https://www.excel-plus.fr/uncategorized/creer-un-fichier-a-fermeture-programmee/</guid>

					<description><![CDATA[<p>Notions à retenir Cette technique utilise VBA pour créer une macro qui ferme automatiquement un fichier Excel après un délai [&#8230;]</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/excodes/creer-un-fichier-a-fermeture-programmee/">Créer un fichier à fermeture programmée – ActiveWorkbook.close</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Notions à retenir</strong></p>
<ul>
<li>Cette technique utilise VBA pour créer une macro qui ferme automatiquement un fichier Excel après un délai défini</li>
<li>Le fichier doit être sauvegardé au format .xlsm pour que les macros fonctionnent</li>
<li>La procédure évènementielle se déclenche automatiquement à l&rsquo;ouverture du fichier</li>
</ul>
<p>Cette technique permet de programmer la fermeture automatique d&rsquo;un fichier Excel après un temps déterminé grâce à VBA. Le processus nécessite la création de deux éléments : une macro de fermeture et un déclencheur temporisé.</p>
<p><strong>Étape 1 : Création de la macro de fermeture</strong></p>
<p>Ouvrez l&rsquo;éditeur Visual Basic avec ALT + F11. Dans la fenêtre de gauche, double-cliquez sur Module 1. Si aucun module n&rsquo;existe, créez-en un via le menu Insertion. Dans la feuille qui s&rsquo;ouvre, saisissez ce code :</p>
<pre>Sub arret()
ActiveWorkbook.Close True
End Sub</pre>
<p>Cette macro ferme le classeur actif sans demander de confirmation de sauvegarde.</p>
<p><strong>Étape 2 : Configuration du déclencheur temporisé</strong></p>
<p>Double-cliquez sur « ThisWorkbook » dans l&rsquo;explorateur de projet. Dans la fenêtre de droite, intégrez le code suivant :</p>
<pre>Private Sub Workbook_Open()
temp = Now + TimeValue("00:00:10")
Application.OnTime temp, "arret"
End Sub</pre>
<p>Ce code programme l&rsquo;exécution de la macro « arret » 10 secondes après l&rsquo;ouverture du fichier. La fonction TimeValue permet de définir le délai au format heures:minutes:secondes.</p>
<p><strong>Sauvegarde et activation</strong></p>
<p>Enregistrez impérativement le fichier au format .xlsm (Excel avec macros). Sans cette extension, les macros ne s&rsquo;exécuteront pas. Une fois fermé et rouvert, le fichier se fermera automatiquement après le délai programmé.</p>
<p>Cette méthode peut servir à éviter que des fichiers restent ouverts trop longtemps sur un poste de travail. Pour une utilisation professionnelle, ajoutez une commande de sauvegarde dans la macro « arret » avant la fermeture.</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/excodes/creer-un-fichier-a-fermeture-programmee/">Créer un fichier à fermeture programmée – ActiveWorkbook.close</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.excel-plus.fr/vba/excodes/creer-un-fichier-a-fermeture-programmee/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Créer un formulaire personnalisé pour saisir des données sur Excel</title>
		<link>https://www.excel-plus.fr/vba/excodes/creer-formulaire-personnalise/</link>
					<comments>https://www.excel-plus.fr/vba/excodes/creer-formulaire-personnalise/#respond</comments>
		
		<dc:creator><![CDATA[Abdel]]></dc:creator>
		<pubDate>Sat, 15 Nov 2025 09:16:40 +0000</pubDate>
				<category><![CDATA[excodes]]></category>
		<guid isPermaLink="false">https://www.excel-plus.fr/uncategorized/creer-formulaire-personnalise/</guid>

					<description><![CDATA[<p>Notions à retenir Excel propose un formulaire par défaut basique, mais un formulaire personnalisé VBA offre plus de fonctionnalités (listes [&#8230;]</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/excodes/creer-formulaire-personnalise/">Créer un formulaire personnalisé pour saisir des données sur Excel</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Notions à retenir</strong></p>
<ul>
<li>Excel propose un formulaire par défaut basique, mais un formulaire personnalisé VBA offre plus de fonctionnalités (listes déroulantes, design personnalisé)</li>
<li>La création nécessite l&rsquo;onglet Développeur, Visual Basic et du code VBA pour gérer les interactions</li>
<li>Le fichier doit être sauvegardé au format .XLSM pour préserver les macros</li>
</ul>
<h2>Formulaire de saisie Excel par défaut</h2>
<p>Pour accéder au formulaire de base, activez d&rsquo;abord le bouton correspondant. Allez dans Fichier > Options > Personnaliser le ruban. Sélectionnez un onglet à droite, cliquez sur « Nouveau groupe », puis dans la partie gauche choisissez « Toutes les commandes » et recherchez « Formulaires&#8230; ». Cliquez sur « Ajouter ». Cochez également l&rsquo;onglet « Développeur » si nécessaire.</p>
<p><img decoding="async" src="https://www.excel-plus.fr/wp-content/uploads/2025/11/Titre-non-trouvé-1.jpg" alt="Configuration du ruban Excel pour ajouter le formulaire"></p>
<p>Le formulaire classique reprend automatiquement tous vos champs avec les fonctions suivantes :<br />
&#8211; Nouvelle/Supprimer : ajouter ou supprimer des fiches<br />
&#8211; Restaurer : annuler les modifications<br />
&#8211; Précédente/Suivante : navigation entre enregistrements<br />
&#8211; Critères : fonction de recherche<br />
&#8211; Fermer : quitter le formulaire</p>
<h2>Création du formulaire personnalisé</h2>
<p>Rendez-vous dans Développeur > Visual Basic > Insertion > UserForm. Agrandissez le formulaire vierge avec les poignées.</p>
<p>Dans la Boîte à outils (menu Affichage si non visible), créez :<br />
&#8211; 2 « Zone de liste modifiable » (ComboBox) pour Code client et Civilité<br />
&#8211; 7 « Zone de texte » (TextBox) pour les autres champs<br />
&#8211; Des « Intitulés » devant chaque élément avec les libellés : Code client, Civilité, Prénom, Nom, Adresse, Code Postal, Ville, Téléphone, E-mail<br />
&#8211; 3 « Bouton de commande » nommés « Nouveau contact », « Modifier » et « Quitter »</p>
<p><img decoding="async" src="https://www.excel-plus.fr/wp-content/uploads/2025/11/Titre-non-trouvé-2.jpg" alt="Interface de création du formulaire personnalisé Excel"></p>
<p>Personnalisez l&rsquo;apparence via les Propriétés : Caption pour les titres, BackColor pour les couleurs de fond, ForeColor pour les couleurs de texte, Font pour les polices.</p>
<h2>Code VBA du formulaire</h2>
<p>Double-cliquez sur le formulaire pour accéder au code VBA. Remplacez le contenu par :</p>
<pre><code>Option Explicit
Dim Ws As Worksheet

'Pour le formulaire
Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer

ComboBox2.ColumnCount = 1
ComboBox2.List() = Array("", "M.", "Mme", "Mlle")

Set Ws = Sheets("Clients")

With Me.ComboBox1
For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("A" & J)
Next J
End With

For I = 1 To 7
Me.Controls("TextBox" & I).Visible = True
Next I
End Sub</code></pre>
<p>Ajoutez ensuite le code pour chaque fonctionnalité :</p>
<p>Pour la liste déroulante Code client :</p>
<pre><code>Private Sub ComboBox1_Change()
Dim Ligne As Long
Dim I As Integer

If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
ComboBox2 = Ws.Cells(Ligne, "B")

For I = 1 To 7
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 2)
Next I
End Sub</code></pre>
<p>Pour le bouton « Nouveau contact » :</p>
<pre><code>Private Sub CommandButton1_Click()
Dim L As Integer

If MsgBox("Confirmez-vous l'insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then
L = Sheets("Clients").Range("a65536").End(xlUp).Row + 1

Range("A" & L).Value = ComboBox1
Range("B" & L).Value = ComboBox2
Range("C" & L).Value = TextBox1
Range("D" & L).Value = TextBox2
Range("E" & L).Value = TextBox3
Range("F" & L).Value = TextBox4
Range("G" & L).Value = TextBox5
Range("H" & L).Value = TextBox6
Range("I" & L).Value = TextBox7
End If
End Sub</code></pre>
<p>Pour le bouton « Modifier » :</p>
<pre><code>Private Sub CommandButton2_Click()
Dim Ligne As Long
Dim I As Integer

If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
Ws.Cells(Ligne, "B") = ComboBox2

For I = 1 To 7
If Me.Controls("TextBox" & I).Visible = True Then
Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
End If
Next I
End If
End Sub</code></pre>
<p>Pour le bouton « Quitter » :</p>
<pre><code>Private Sub CommandButton3_Click()
Unload Me
End Sub</code></pre>
<h2>Finalisation et utilisation</h2>
<p>Testez le formulaire avec F5. Pour corriger l&rsquo;ordre de tabulation, clic droit sur le formulaire > Ordre de tabulation.</p>
<p>Créez une macro de lancement : Développeur > Macros > nom « Lancer_formulaire » > Créer. Saisissez entre les lignes : <code>UserForm1.Show vbModeless</code></p>
<p>Définissez un raccourci dans Macros > Options.</p>
<p>Enregistrez obligatoirement le fichier au format .XLSM (Fichier > Enregistrer sous > Classeur Excel prenant en charge les macros) pour conserver les fonctionnalités VBA.</p>
<p>Pour éviter les notifications de sécurité à l&rsquo;ouverture, allez dans Fichier > Options > Centre de gestion de la confidentialité > Paramètres du Centre de gestion de la confidentialité > Paramètres des macros > Activer toutes les macros (non recommandé pour la sécurité).</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/excodes/creer-formulaire-personnalise/">Créer un formulaire personnalisé pour saisir des données sur Excel</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.excel-plus.fr/vba/excodes/creer-formulaire-personnalise/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Utilisation des variables en VBA</title>
		<link>https://www.excel-plus.fr/vba/demvba/variables-en-vba/</link>
					<comments>https://www.excel-plus.fr/vba/demvba/variables-en-vba/#respond</comments>
		
		<dc:creator><![CDATA[Abdel]]></dc:creator>
		<pubDate>Sat, 15 Nov 2025 09:15:09 +0000</pubDate>
				<category><![CDATA[demvba]]></category>
		<guid isPermaLink="false">https://www.excel-plus.fr/uncategorized/variables-en-vba/</guid>

					<description><![CDATA[<p>Notions à retenir Les variables VBA sont des emplacements de stockage nommés pour conserver des données modifiables durant l&#8217;exécution La [&#8230;]</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/demvba/variables-en-vba/">Utilisation des variables en VBA</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Notions à retenir</strong></p>
<ul>
<li>Les variables VBA sont des emplacements de stockage nommés pour conserver des données modifiables durant l&rsquo;exécution</li>
<li>La déclaration avec DIM et un type spécifique évite les erreurs de compatibilité de données</li>
<li>Option Explicit rend obligatoire la déclaration de toutes les variables dans le code</li>
</ul>
<p><strong>Définition et utilisation des variables VBA</strong></p>
<p>Une variable VBA constitue un emplacement de stockage nommé contenant des données modifiables pendant l&rsquo;exécution du programme. Chaque variable possède un nom unique dans sa portée, limité à 255 caractères maximum, et doit commencer par un caractère alphabétique.</p>
<p>Exemple pratique de calcul avec variables :</p>
<pre>
Sub calcul_cotisations()
    xadherent = 100
    xcotisation = 20
    xtotal = xadherent * xcotisation
    MsgBox xtotal
End Sub
</pre>
<p><strong>Déclaration des variables avec DIM</strong></p>
<p>La syntaxe de déclaration suit le modèle : <code>Dim NomVariable As Type</code></p>
<p>Les types de variables disponibles :</p>
<table>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
<tr>
<td>Byte</td>
<td>Nombre entier entre 0 et 255</td>
</tr>
<tr>
<td>Integer</td>
<td>Nombre entier entre -32 768 et 32 767</td>
</tr>
<tr>
<td>Long</td>
<td>Nombre entier entre -2 147 483 648 et 2 147 483 647</td>
</tr>
<tr>
<td>Single</td>
<td>Nombre à virgule flottante simple précision</td>
</tr>
<tr>
<td>Double</td>
<td>Nombre à virgule flottante double précision</td>
</tr>
<tr>
<td>Currency</td>
<td>Nombre monétaire à virgule fixe</td>
</tr>
<tr>
<td>String</td>
<td>Chaîne de caractères</td>
</tr>
<tr>
<td>Date</td>
<td>Dates entre 01/01/100 et 31/12/9999</td>
</tr>
<tr>
<td>Boolean</td>
<td>Valeur logique True ou False</td>
</tr>
<tr>
<td>Variant</td>
<td>Type par défaut acceptant tous types de valeurs</td>
</tr>
</table>
<p>Exemple de déclaration incorrecte générant une erreur :</p>
<pre>
Sub verif()
    Dim xmontant As Integer
    xmontant = "Thierry" 'Erreur de type
End Sub
</pre>
<p><strong>Option Explicit pour forcer la déclaration</strong></p>
<p>L&rsquo;instruction <code>Option Explicit</code> placée en début de module rend obligatoire la déclaration de toutes les variables. Cette option peut être activée automatiquement via Outils / Options / Onglet Editeur / Déclaration Explicite des Variables.</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/demvba/variables-en-vba/">Utilisation des variables en VBA</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.excel-plus.fr/vba/demvba/variables-en-vba/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MsgBox, InputBox et Application.InputBox</title>
		<link>https://www.excel-plus.fr/vba/demvba/msgbox-inputbox-et-application-inputbox/</link>
					<comments>https://www.excel-plus.fr/vba/demvba/msgbox-inputbox-et-application-inputbox/#respond</comments>
		
		<dc:creator><![CDATA[Abdel]]></dc:creator>
		<pubDate>Sat, 15 Nov 2025 09:14:56 +0000</pubDate>
				<category><![CDATA[demvba]]></category>
		<guid isPermaLink="false">https://www.excel-plus.fr/uncategorized/msgbox-inputbox-et-application-inputbox/</guid>

					<description><![CDATA[<p>Notions à retenir MsgBox affiche un message simple et suspend l&#8217;exécution de la macro jusqu&#8217;à validation utilisateur InputBox permet de [&#8230;]</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/demvba/msgbox-inputbox-et-application-inputbox/">MsgBox, InputBox et Application.InputBox</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Notions à retenir</strong></p>
<ul>
<li>MsgBox affiche un message simple et suspend l&rsquo;exécution de la macro jusqu&rsquo;à validation utilisateur</li>
<li>InputBox permet de récupérer une saisie utilisateur et la stocker dans une variable</li>
<li>Application.InputBox offre un contrôle du type de données attendues (nombre, texte, référence&#8230;)</li>
</ul>
<h2>MsgBox en VBA</h2>
<p>La fonction MsgBox permet d&rsquo;afficher un message simple à l&rsquo;utilisateur. Voici la syntaxe de base :</p>
<pre><code>Sub essai_msgbox()
MsgBox "Bonjour !"
End Sub</code></pre>
<p><img decoding="async" src="https://www.excel-plus.fr/wp-content/uploads/2025/11/Utilisation-des-variables-en-VBA-1.jpg" alt="Exemple MsgBox VBA"></p>
<p>L&rsquo;exécution de la macro est suspendue tant que la boîte de dialogue reste ouverte. L&rsquo;utilisateur doit cliquer sur OK pour poursuivre. Vous pouvez personnaliser le type de boutons affichés en ajoutant un paramètre après le message :</p>
<ul>
<li>vbOKOnly : bouton OK uniquement (par défaut)</li>
<li>vbYesNo : boutons Oui et Non</li>
<li>vbExclamation : icône d&rsquo;exclamation</li>
</ul>
<h2>InputBox en VBA</h2>
<p>InputBox permet de demander une saisie à l&rsquo;utilisateur et de stocker la réponse dans une variable :</p>
<pre><code>Sub essai_inputbox()
nom = InputBox("Quel est votre nom ?", "Votre nom")
Range("A1").Value = nom
End Sub</code></pre>
<p>Cette fonction retourne une chaîne de caractères correspondant à la saisie utilisateur. Si l&rsquo;utilisateur annule, la variable contiendra une chaîne vide.</p>
<h2>Application.InputBox</h2>
<p>Application.InputBox offre davantage de contrôle en permettant de spécifier le type de données attendues via le paramètre « type » :</p>
<pre><code>Sub essai_application_inputbox()
age = Application.InputBox("Quel est votre âge ?", type:=1)
Range("A1").Value = age
End Sub</code></pre>
<p><img decoding="async" src="https://www.excel-plus.fr/wp-content/uploads/2025/11/Utilisation-des-variables-en-VBA-2.jpg" alt="Application InputBox avec contrôle de type"></p>
<p>Les types disponibles sont :</p>
<ul>
<li>0 : Formule</li>
<li>1 : Nombre</li>
<li>2 : Texte</li>
<li>4 : Valeur logique (True/False)</li>
<li>8 : Référence de cellule</li>
<li>16 : Valeur d&rsquo;erreur</li>
<li>64 : Tableau de valeurs</li>
</ul>
<p>Si l&rsquo;utilisateur saisit une valeur non conforme au type spécifié, un message d&rsquo;erreur s&rsquo;affiche automatiquement et redemande la saisie.</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/demvba/msgbox-inputbox-et-application-inputbox/">MsgBox, InputBox et Application.InputBox</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.excel-plus.fr/vba/demvba/msgbox-inputbox-et-application-inputbox/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Les variables en VBA</title>
		<link>https://www.excel-plus.fr/vba/demvba/les-variables/</link>
					<comments>https://www.excel-plus.fr/vba/demvba/les-variables/#respond</comments>
		
		<dc:creator><![CDATA[Abdel]]></dc:creator>
		<pubDate>Sat, 15 Nov 2025 09:14:43 +0000</pubDate>
				<category><![CDATA[demvba]]></category>
		<guid isPermaLink="false">https://www.excel-plus.fr/uncategorized/les-variables/</guid>

					<description><![CDATA[<p>Notions à retenir Les variables VBA sont des emplacements de stockage nommés pour conserver des données modifiables pendant l&#8217;exécution du [&#8230;]</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/demvba/les-variables/">Les variables en VBA</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Notions à retenir</strong></p>
<ul>
<li>Les variables VBA sont des emplacements de stockage nommés pour conserver des données modifiables pendant l&rsquo;exécution du programme</li>
<li>La déclaration avec DIM et un type spécifique permet d&rsquo;éviter les erreurs de compatibilité et améliore la performance du code</li>
<li>L&rsquo;option « Option Explicit » rend obligatoire la déclaration de toutes les variables dans une procédure</li>
</ul>
<h2>Définition et utilisation des variables VBA</h2>
<p>Les variables VBA constituent des emplacements de stockage nommés contenant des données modifiables pendant l&rsquo;exécution du programme. Chaque variable possède un nom unique dans sa portée, limité à 255 caractères maximum, commençant par un caractère alphabétique et ne contenant ni caractère de déclaration de type ni point.</p>
<p>Ces variables permettent de stocker temporairement des valeurs pour effectuer des calculs ou déterminer des actions selon leur contenu. Voici un exemple pratique :</p>
<pre>
Sub calcul_cotisation()
xadherent = 100
xcotisation = 20
xtotal = xadherent * xcotisation
MsgBox xtotal
End Sub
</pre>
<h2>Déclaration des variables avec DIM</h2>
<p>La déclaration des variables s&rsquo;effectue en début de procédure avec la commande DIM selon cette syntaxe :</p>
<p><strong>Dim NomVariable as Type</strong></p>
<p>Cette pratique permet d&rsquo;attribuer un type spécifique à chaque variable, évitant ainsi les erreurs de compatibilité. Les principaux types disponibles sont :</p>
<table>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
<tr>
<td>Byte</td>
<td>Nombre entier entre 0 et 255</td>
</tr>
<tr>
<td>Integer</td>
<td>Nombre entier entre -32 768 et 32 767</td>
</tr>
<tr>
<td>Long</td>
<td>Nombre entier entre -2 147 483 648 et 2 147 483 647</td>
</tr>
<tr>
<td>Single</td>
<td>Nombre à virgule flottante simple précision</td>
</tr>
<tr>
<td>Double</td>
<td>Nombre à virgule flottante double précision</td>
</tr>
<tr>
<td>Currency</td>
<td>Nombre monétaire avec 15 chiffres entiers et 4 décimales</td>
</tr>
<tr>
<td>String</td>
<td>Chaîne de caractères</td>
</tr>
<tr>
<td>Date</td>
<td>Dates entre 01/01/100 et 31/12/9999</td>
</tr>
<tr>
<td>Boolean</td>
<td>Valeur logique True ou False</td>
</tr>
<tr>
<td>Variant</td>
<td>Type par défaut acceptant toute valeur</td>
</tr>
</table>
<p>Exemple d&rsquo;erreur de type :</p>
<pre>
Sub verif()
Dim xmontant As Integer
xmontant = "Thierry"    'Erreur : texte incompatible avec Integer
End Sub
</pre>
<h2>Option Explicit pour la déclaration obligatoire</h2>
<p>L&rsquo;instruction « Option Explicit » placée en section Déclarations rend obligatoire la déclaration de toutes les variables. Cette option s&rsquo;active également via Outils > Options > Onglet Editeur > Déclaration Explicite des Variables pour l&rsquo;appliquer automatiquement à tous les nouveaux modules.</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/demvba/les-variables/">Les variables en VBA</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.excel-plus.fr/vba/demvba/les-variables/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Les Tests et les Boucles</title>
		<link>https://www.excel-plus.fr/vba/demvba/les-tests-et-les-boucles/</link>
					<comments>https://www.excel-plus.fr/vba/demvba/les-tests-et-les-boucles/#respond</comments>
		
		<dc:creator><![CDATA[Abdel]]></dc:creator>
		<pubDate>Sat, 15 Nov 2025 09:14:28 +0000</pubDate>
				<category><![CDATA[demvba]]></category>
		<guid isPermaLink="false">https://www.excel-plus.fr/uncategorized/les-tests-et-les-boucles/</guid>

					<description><![CDATA[<p>Notions à retenir Les tests IF et SELECT CASE permettent d&#8217;exécuter des actions selon des conditions spécifiques Les boucles FOR, [&#8230;]</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/demvba/les-tests-et-les-boucles/">Les Tests et les Boucles</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Notions à retenir</strong></p>
<ul>
<li>Les tests IF et SELECT CASE permettent d&rsquo;exécuter des actions selon des conditions spécifiques</li>
<li>Les boucles FOR, DO WHILE et FOR EACH automatisent la répétition d&rsquo;instructions</li>
<li>Ces structures de contrôle sont essentielles pour créer des macros VBA dynamiques et efficaces</li>
</ul>
<h2>Les structures de tests en VBA</h2>
<h3>La condition IF</h3>
<p>La structure IF permet d&rsquo;exécuter du code selon qu&rsquo;une condition soit vraie ou fausse. La syntaxe est : <code>IF condition THEN action ELSE action_alternative END IF</code></p>
<pre><code>Sub age()
xAge = InputBox("Quel est votre age ?")
 If xAge >= 18 Then
 MsgBox "Vous êtes majeur"
 Else
 MsgBox "Vous êtes mineur"
 End If
End Sub</code></pre>
<h3>Les tests multiples SELECT CASE</h3>
<p>SELECT CASE évalue une expression et exécute le code correspondant à chaque cas défini. Cette structure est plus lisible que des IF imbriqués multiples.</p>
<pre><code>Sub score()
xScore = InputBox("Quel est votre score ?")
Select Case xScore
 Case Is < 5
 MsgBox "Faîtes des efforts !"
 Case 5 To 7
 MsgBox "Bravo, continuez !"
 Case Is >= 8
 MsgBox "Félicitations !"
End Select
End Sub</code></pre>
<h2>Les boucles en VBA</h2>
<h3>La boucle FOR avec compteur</h3>
<p>La boucle FOR répète les instructions un nombre défini de fois grâce à un compteur qui s&rsquo;incrémente automatiquement.</p>
<pre><code>Sub compteur()
xNbre = InputBox("Quel valeur entrer ?")
 For i = 1 To 5
 ActiveCell.Value = xNbre
 ActiveCell.Offset(0, 1).Select
 Next i
End Sub</code></pre>
<h3>La boucle DO WHILE</h3>
<p>DO WHILE exécute les instructions tant que la condition spécifiée reste vraie. La boucle s&rsquo;arrête dès que la condition devient fausse.</p>
<pre><code>Sub tant_que()
Do While ActiveCell.Offset(-1, 0) <> 10
 ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + 1
 ActiveCell.Offset(1, 0).Select
Loop
End Sub</code></pre>
<h3>La boucle FOR EACH</h3>
<p>FOR EACH parcourt chaque élément d&rsquo;une collection ou d&rsquo;une sélection et applique les instructions à chacun d&rsquo;eux.</p>
<pre><code>Sub ensemble()
For Each i In Selection
 i.Value = UCase(i.Value)
Next i
End Sub</code></pre>
<p>L’article <a href="https://www.excel-plus.fr/vba/demvba/les-tests-et-les-boucles/">Les Tests et les Boucles</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.excel-plus.fr/vba/demvba/les-tests-et-les-boucles/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>L’enregistreur de macros</title>
		<link>https://www.excel-plus.fr/vba/demvba/lenregistreur-de-macros/</link>
					<comments>https://www.excel-plus.fr/vba/demvba/lenregistreur-de-macros/#respond</comments>
		
		<dc:creator><![CDATA[Abdel]]></dc:creator>
		<pubDate>Sat, 15 Nov 2025 09:14:16 +0000</pubDate>
				<category><![CDATA[demvba]]></category>
		<guid isPermaLink="false">https://www.excel-plus.fr/uncategorized/lenregistreur-de-macros/</guid>

					<description><![CDATA[<p>Notions à retenir L&#8217;enregistreur de macros permet d&#8217;automatiser des tâches Excel sans programmation VBA Cette fonctionnalité enregistre vos actions pour [&#8230;]</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/demvba/lenregistreur-de-macros/">L’enregistreur de macros</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Notions à retenir</strong></p>
<ul>
<li>L&rsquo;enregistreur de macros permet d&rsquo;automatiser des tâches Excel sans programmation VBA</li>
<li>Cette fonctionnalité enregistre vos actions pour les reproduire automatiquement</li>
<li>Pour des automatisations avancées, la programmation VBA reste nécessaire</li>
</ul>
<p>L&rsquo;enregistreur de macros d&rsquo;Excel constitue un outil puissant pour automatiser des tâches répétitives sans connaissances en programmation. Cette fonctionnalité native capture toutes vos actions dans une feuille de calcul et les convertit automatiquement en code VBA exécutable.</p>
<p><strong>Fonctionnement de l&rsquo;enregistreur de macros</strong></p>
<p>Le principe est simple : Excel enregistre chaque clic, saisie ou manipulation que vous effectuez pendant la phase d&rsquo;enregistrement. Une fois l&rsquo;enregistrement terminé, ces actions sont stockées sous forme de macro réutilisable à volonté.</p>
<p><strong>Étapes pour créer une macro avec l&rsquo;enregistreur</strong></p>
<p>Accédez à l&rsquo;onglet « Développeur » puis cliquez sur « Enregistrer une macro ». Donnez un nom à votre macro et définissez éventuellement un raccourci clavier. Effectuez ensuite toutes les actions que vous souhaitez automatiser. Terminez en cliquant sur « Arrêter l&rsquo;enregistrement ».</p>
<p><strong>Limites de l&rsquo;enregistreur de macros</strong></p>
<p>L&rsquo;enregistreur génère un code basique qui reproduit exactement vos actions sur des cellules spécifiques. Pour des automatisations plus sophistiquées incluant des conditions, des boucles ou des interactions utilisateur, la programmation VBA manuelle devient indispensable.</p>
<p><strong>Applications pratiques courantes</strong></p>
<p>Cette technique s&rsquo;avère particulièrement efficace pour automatiser la mise en forme de données, la création de graphiques standardisés, l&rsquo;application de filtres récurrents ou encore la génération de rapports avec une structure fixe.</p>
<p>L’article <a href="https://www.excel-plus.fr/vba/demvba/lenregistreur-de-macros/">L’enregistreur de macros</a> est apparu en premier sur <a href="https://www.excel-plus.fr">Excel Plus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.excel-plus.fr/vba/demvba/lenregistreur-de-macros/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
