{"id":7595,"date":"2026-09-06T00:53:51","date_gmt":"2026-09-05T22:53:51","guid":{"rendered":"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/"},"modified":"2026-09-06T00:53:51","modified_gmt":"2026-09-05T22:53:51","slug":"vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel","status":"publish","type":"post","link":"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/","title":{"rendered":"VBA List : Fonctionnalit\u00e9s cl\u00e9s et applications pour automatiser Excel"},"content":{"rendered":"<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Space+Grotesk:wght@600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500&display=swap');\n.vbal-wrap{font-family:'Inter',-apple-system,sans-serif;line-height:1.65;font-size:17px;color:#1c2029;}\n.vbal-wrap h2{font-family:'Space Grotesk',-apple-system,sans-serif;font-weight:700;letter-spacing:-0.01em;font-size:clamp(22px,3vw,30px);color:#12151c;margin:44px 0 16px;}\n.vbal-wrap h3{font-family:'Space Grotesk',-apple-system,sans-serif;font-weight:600;font-size:17px;color:#12151c;}\n.vbal-wrap strong{color:#12151c;}\n.vbal-wrap code,.vbal-mono{font-family:'JetBrains Mono',Consolas,Monaco,monospace;font-size:13.5px;}\n.vbal-brief{background:#eef1fd;border-left:5px solid #3454d1;border-radius:0 8px 8px 0;padding:22px 26px;margin:20px 0 26px;}\n.vbal-brief-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#3454d1;margin-bottom:8px;}\n.vbal-brief-txt{font-size:18px;line-height:1.6;color:#12151c;font-weight:500;}\n.vbal-brief ul{margin:14px 0 0;padding-left:20px;font-size:14.5px;color:#333a47;}\n.vbal-warn{background:#fdecec;border-left:5px solid #c54848;border-radius:0 8px 8px 0;padding:22px 26px;margin:0 0 32px;}\n.vbal-warn-kicker{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#8a2020;margin-bottom:10px;}\n.vbal-warn ul{margin:0;padding-left:20px;font-size:14.5px;line-height:1.6;color:#3a2020;}\n.vbal-warn li{margin-bottom:8px;}\n.vbal-note{border-left:4px solid #3454d1;background:#f4f6fb;padding:14px 18px;margin:18px 0;border-radius:0 4px 4px 0;}\n.vbal-note-kicker{display:inline-block;color:#22357a;font-size:12px;text-transform:uppercase;letter-spacing:1.5px;font-weight:700;margin-right:8px;}\n.vbal-note span.vbal-note-txt{font-size:14.5px;line-height:1.55;color:#2a2e38;}\n.vbal-note-danger{border-left:4px solid #c54848;background:#fdf3f2;}\n.vbal-note-danger .vbal-note-kicker{color:#8a2020;}\n.vbal-code{background:#12151c;border-radius:6px;overflow-x:auto;padding:16px 20px;margin:18px 0;}\n.vbal-code code{color:#e3e6ee;white-space:pre;font-size:13px;line-height:1.6;}\n.vbal-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:28px 0;}\n.vbal-check-col{background:#fafbfc;border:1px solid #e2e5ec;border-top:4px solid #3454d1;border-radius:6px;padding:20px 22px;}\n.vbal-check-col.vbal-avoid{border-top-color:#c54848;}\n.vbal-check-col h3{margin:0 0 14px;font-size:13px;text-transform:uppercase;letter-spacing:1.5px;}\n.vbal-check-col ul{margin:0;padding:0;list-style:none;}\n.vbal-check-col li{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid #ecedf1;font-size:14px;color:#252a33;}\n.vbal-check-col li:last-child{border-bottom:none;}\n.vbal-check-col.vbal-do li span.vbal-mk{color:#3454d1;font-weight:700;}\n.vbal-check-col.vbal-avoid li span.vbal-mk{color:#c54848;font-weight:700;}\n.vbal-faq{margin:32px 0;}\n.vbal-faq details{border-bottom:1px solid #e2e5ec;padding:0;}\n.vbal-faq summary{cursor:pointer;padding:16px 0;font-size:16.5px;font-weight:600;font-family:'Space Grotesk',sans-serif;color:#12151c;list-style:none;display:flex;justify-content:space-between;gap:14px;}\n.vbal-faq summary::-webkit-details-marker{display:none;}\n.vbal-faq summary::after{content:\"+\";font-size:22px;font-weight:300;color:#3454d1;line-height:1;}\n.vbal-faq details[open] summary::after{content:\"\u2212\";}\n.vbal-faq-a{padding:0 0 16px;font-size:15px;line-height:1.65;color:#3a3f4a;}\n<\/style>\n<div class=\"vbal-wrap\">\n<div class=\"vbal-brief\">\n<div class=\"vbal-brief-kicker\">En bref<\/div>\n<div class=\"vbal-brief-txt\">En VBA, \u00ab liste \u00bb ne d\u00e9signe pas un objet unique : c&rsquo;est un choix entre quatre structures \u2014 <strong>Array<\/strong> (tableau typ\u00e9, taille fixe ou redimensionnable), <strong>Collection<\/strong> (native VBA, h\u00e9t\u00e9rog\u00e8ne), <strong>Scripting.Dictionary<\/strong> (acc\u00e8s par cl\u00e9) et <strong>System.Collections.ArrayList<\/strong> (dynamique, emprunt\u00e9 au .NET). Le bon choix d\u00e9pend du volume, du besoin de recherche par cl\u00e9 et de la fr\u00e9quence d&rsquo;ajout\/suppression.<\/div>\n<ul>\n<li>Array : rapide en lecture, p\u00e9nible \u00e0 redimensionner en cours de route.<\/li>\n<li>Collection : simple, mais pas de suppression par index natif ni de tri.<\/li>\n<li>Dictionary : id\u00e9al pour d\u00e9doublonner et retrouver une valeur par cl\u00e9.<\/li>\n<li>ArrayList : proche d&rsquo;un tableau dynamique, mais d\u00e9pend du .NET Framework (voir plus bas).<\/li>\n<\/ul>\n<\/div>\n<div class=\"vbal-warn\">\n<div class=\"vbal-warn-kicker\">\u26a0 Avant d&rsquo;ex\u00e9cuter la moindre macro sur vos donn\u00e9es<\/div>\n<ul>\n<li><strong>Ctrl+Z n&rsquo;annule pas une macro.<\/strong> Une fois qu&rsquo;une proc\u00e9dure VBA a modifi\u00e9, tri\u00e9 ou supprim\u00e9 des cellules, le geste est d\u00e9finitif \u2014 sauf si le code lui-m\u00eame pr\u00e9voit une sauvegarde ou un retour arri\u00e8re.<\/li>\n<li><strong>Les macros sont d\u00e9sactiv\u00e9es par d\u00e9faut<\/strong> dans Excel : c&rsquo;est volontaire. Un classeur <code>.xlsm<\/code>\/<code>.xlsb<\/code> re\u00e7u par e-mail ou t\u00e9l\u00e9charg\u00e9 sur un site inconnu est un vecteur d&rsquo;attaque document\u00e9 \u2014 ne l&rsquo;activez que si vous connaissez et faites confiance \u00e0 la source.<\/li>\n<li><strong><code>Application.DisplayAlerts = False<\/code> supprime aussi les demandes de confirmation de suppression.<\/strong> Si vous le d\u00e9sactivez temporairement, remettez-le \u00e0 <code>True<\/code> en fin de proc\u00e9dure.<\/li>\n<li>Sur des donn\u00e9es r\u00e9elles : testez d&rsquo;abord sur une <strong>copie<\/strong> du classeur.<\/li>\n<\/ul>\n<\/div>\n<h2>Introduction \u00e0 vba list : d\u00e9finition et enjeux<\/h2>\n<p>\nLa <strong>liste VBA<\/strong>, au sens technique, d\u00e9signe toute structure permettant la gestion dynamique ou statique d&rsquo;ensembles de donn\u00e9es, essentielle dans l&rsquo;<u>automatisation de t\u00e2ches<\/u> sur <strong>Excel<\/strong>, <strong>Access<\/strong> ou <strong>Word<\/strong>. Utilis\u00e9e pour des <u>contr\u00f4les m\u00e9tiers<\/u>, du <strong>reporting automatis\u00e9<\/strong> ou du <strong>data parsing<\/strong>, elle conditionne l&rsquo;agilit\u00e9 des traitements.\n<\/p>\n<p>\nMa\u00eetriser l&rsquo;usage des structures <strong>Array<\/strong>, <strong>ArrayList<\/strong>, <strong>Collection<\/strong> et <strong>Dictionary<\/strong> s&rsquo;av\u00e8re d\u00e9cisif :<\/p>\n<ul>\n<li><strong>Array<\/strong> pour de grandes s\u00e9ries homog\u00e8nes (historiques, s\u00e9ries de mesures),<\/li>\n<li><strong>ArrayList<\/strong> pour des listes dynamiques \u00e9volutives (r\u00e9sultats filtr\u00e9s, s\u00e9lections utilisateur),<\/li>\n<li><strong>Dictionary<\/strong> pour des recherches rapides par cl\u00e9 (mapping d&rsquo;identifiants, r\u00e9f\u00e9rentiels),<\/li>\n<li><strong>Collection<\/strong> pour stocker des objets m\u00e9tier h\u00e9t\u00e9rog\u00e8nes sans avoir besoin d&rsquo;un tri rapide.<\/li>\n<\/ul>\n<p>Power Automate et l&rsquo;\u00e9volution de l&rsquo;offre Microsoft 365 ces derni\u00e8res ann\u00e9es ont \u00e9largi les possibilit\u00e9s d&rsquo;automatisation autour d&rsquo;Excel, sans remplacer VBA pour les traitements locaux et imm\u00e9diats.\n<\/p>\n<h2>Les fondamentaux de vba list<\/h2>\n<p>\nStructurer l&rsquo;information dans VBA n\u00e9cessite un arbitrage pr\u00e9cis entre <strong>Array<\/strong>, <strong>ArrayList<\/strong>, <strong>Collection<\/strong> et <strong>Dictionary<\/strong>. Chaque option pr\u00e9sente des <u>avantages distincts selon l&rsquo;objectif<\/u> :<\/p>\n<ul>\n<li><u>Array<\/u> : structure statique ou dynamique typ\u00e9e, id\u00e9ale pour de <strong>grandes s\u00e9quences homog\u00e8nes<\/strong> (ex. une s\u00e9rie de mesures horaires sur un an). L&rsquo;acc\u00e8s par index est direct et performant, mais l&rsquo;ajout ou la suppression en milieu de tableau est co\u00fbteux (il faut d\u00e9caler les \u00e9l\u00e9ments).<\/li>\n<li><u>ArrayList<\/u> (<code>System.Collections.ArrayList<\/code>) : dynamique, avec des m\u00e9thodes <strong>Add<\/strong>, <strong>RemoveAt<\/strong>, <strong>Sort<\/strong> et <strong>Clone<\/strong>. Permet l&rsquo;ajout\/suppression \u00e0 la vol\u00e9e pour des listes dont la taille varie en cours d&rsquo;ex\u00e9cution.<\/li>\n<li><u>Collection<\/u> : stockage d&rsquo;objets h\u00e9t\u00e9rog\u00e8nes, indexation simple, mais pas de suppression par position ni de tri natif \u2014 utile pour r\u00e9f\u00e9rencer des objets m\u00e9tier sans exigence de performance.<\/li>\n<li><u>Dictionary<\/u> (<code>Scripting.Dictionary<\/code>) : acc\u00e8s optimis\u00e9 par cl\u00e9\/valeur, unicit\u00e9 des cl\u00e9s \u2014 id\u00e9al pour la d\u00e9duplication et le mapping r\u00e9f\u00e9rentiel.<\/li>\n<\/ul>\n<p>\nDiff\u00e9renciez les <strong>tableaux statiques<\/strong> (dimensionn\u00e9s d\u00e8s la d\u00e9claration) des <strong>tableaux dynamiques<\/strong> (redimensionn\u00e9s \u00e0 la demande via <strong>ReDim<\/strong>). L&rsquo;instruction de module <strong>Option Base 1<\/strong>, plac\u00e9e avant toute proc\u00e9dure, fait d\u00e9marrer \u00e0 1 l&rsquo;indexation des tableaux d\u00e9clar\u00e9s <em>sans bornes explicites<\/em> \u2014 mais elle ne change rien \u00e0 un <code>ReDim arr(1 To 5)<\/code>, qui fixe ses propres bornes.\n<\/p>\n<div class=\"vbal-note\">\n  <strong class=\"vbal-note-kicker\">Pi\u00e8ge fr\u00e9quent<\/strong><br \/>\n  <span class=\"vbal-note-txt\"><code>Split<\/code> et <code>Join<\/code> renvoient <strong>toujours<\/strong> un tableau index\u00e9 \u00e0 partir de 0, quel que soit le r\u00e9glage <code>Option Base<\/code> du module. Un code qui boucle avec <code>For i = 1 To UBound(...)<\/code> apr\u00e8s un <code>Split<\/code> saute le premier \u00e9l\u00e9ment.<\/span>\n<\/div>\n<p>\nParmi les fonctions essentielles pour manipuler des listes en VBA :<\/p>\n<ul>\n<li><strong>Split<\/strong> pour d\u00e9couper une cha\u00eene en tableau,<\/li>\n<li><strong>Join<\/strong> pour reconstituer une cha\u00eene depuis un tableau,<\/li>\n<li><strong>LBound\/UBound<\/strong> pour obtenir les bornes r\u00e9elles d&rsquo;un tableau, quel que soit <code>Option Base<\/code>,<\/li>\n<li><strong>IsArray<\/strong> pour v\u00e9rifier qu&rsquo;une variable est bien un tableau,<\/li>\n<li><strong>Filter<\/strong> pour extraire dynamiquement les \u00e9l\u00e9ments correspondant \u00e0 un crit\u00e8re.<\/li>\n<\/ul>\n<h2>Guide pratique : comment choisir et manipuler une liste vba<\/h2>\n<p>\nVoici une d\u00e9marche structur\u00e9e pour choisir et manipuler des listes VBA :<\/p>\n<ul>\n<li><strong>\u00c9tape 1 : choisir la structure adapt\u00e9e<\/strong>\n<ul>\n<li><strong>Array<\/strong> pour un ensemble homog\u00e8ne de taille connue \u00e0 l&rsquo;avance,<\/li>\n<li><strong>ArrayList<\/strong> quand la taille varie en cours de traitement,<\/li>\n<li><strong>Dictionary<\/strong> pour croiser ou d\u00e9dupliquer des valeurs par cl\u00e9,<\/li>\n<li><strong>Collection<\/strong> pour r\u00e9f\u00e9rencer des objets m\u00e9tier h\u00e9t\u00e9rog\u00e8nes.<\/li>\n<\/ul>\n<\/li>\n<li><strong>\u00c9tape 2 : d\u00e9claration, initialisation et alimentation<\/strong>\n<ul>\n<li>Utilisez <strong>Option Explicit<\/strong> et une d\u00e9claration typ\u00e9e d\u00e8s que possible.<\/li>\n<li>Pour un <strong>ArrayList<\/strong>, l&rsquo;instanciation se fait par liaison tardive (late binding) via <code>CreateObject<\/code> \u2014 voir la mise en garde ci-dessous.<\/li>\n<\/ul>\n<\/li>\n<li><strong>\u00c9tape 3 : gestion des \u00e9l\u00e9ments (ajout, lecture, modification, suppression)<\/strong>\n<ul>\n<li>M\u00e9thodes <strong>Add<\/strong> ou <strong>Insert<\/strong> pour enrichir la liste,<\/li>\n<li><strong>RemoveAt<\/strong> ou <strong>Remove<\/strong> pour des suppressions cibl\u00e9es,<\/li>\n<li>Exemple de code complet et ex\u00e9cutable :<\/li>\n<\/ul>\n<div class=\"vbal-code\"><code>Sub DemoArrayList()<br \/>\n    Dim list As Object<br \/>\n    Dim i As Long<br \/>\n    ' Instanciation par liaison tardive (late binding).<br \/>\n    ' N\u00e9cessite le .NET Framework install\u00e9 et enregistr\u00e9 pour COM \u2014 voir l'encart ci-dessous.<br \/>\n    Set list = CreateObject(\"System.Collections.ArrayList\")<br \/>\n    list.Add \"Paris\"<br \/>\n    list.Add \"Londres\"<br \/>\n    For i = 0 To list.Count - 1<br \/>\n        Debug.Print list.Item(i)<br \/>\n    Next i<br \/>\n    Set list = Nothing<br \/>\nEnd Sub<\/code><\/div>\n<div class=\"vbal-note vbal-note-danger\">\n      <strong class=\"vbal-note-kicker\">Portabilit\u00e9<\/strong><br \/>\n      <span class=\"vbal-note-txt\"><code>CreateObject(\"System.Collections.ArrayList\")<\/code> s&rsquo;appuie sur le .NET Framework de Windows. Il ne fonctionne <strong>pas sur Excel pour Mac<\/strong>, et peut \u00e9chouer sur un poste Windows sans le .NET Framework install\u00e9 ou enregistr\u00e9 pour l&rsquo;interop\u00e9rabilit\u00e9 COM. Sur un environnement incertain (Mac, poste verrouill\u00e9 en entreprise), pr\u00e9f\u00e9rez <strong>Collection<\/strong> ou <strong>Scripting.Dictionary<\/strong>, disponibles nativement.<\/span>\n    <\/div>\n<\/li>\n<li><strong>\u00c9tape 4 : exploitation avanc\u00e9e<\/strong>\n<ul>\n<li>Conversion Array \u2194 ArrayList : <code>arr = list.ToArray<\/code>,<\/li>\n<li>Tri avec <strong>ArrayList.Sort<\/strong>, d\u00e9duplication via <strong>Dictionary<\/strong>.<\/li>\n<\/ul>\n<\/li>\n<li><strong>\u00c9tape 5 : s\u00e9curisation et gestion d&rsquo;exceptions<\/strong>\n<ul>\n<li>Encadrez les acc\u00e8s hors-bornes avec <code>On Error<\/code> et testez <strong>LBound\/UBound<\/strong> avant toute boucle,<\/li>\n<li>Traitez les erreurs de typage \u00e0 l&rsquo;alimentation des structures,<\/li>\n<li>Lib\u00e9rez les objets en fin de proc\u00e9dure (<code>Set obj = Nothing<\/code>).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Applications pratiques et cas d&rsquo;usage<\/h2>\n<p>\nUne bonne gestion des <strong>listes VBA<\/strong> s&rsquo;observe sur des cas concrets et r\u00e9currents en entreprise :<\/p>\n<ul>\n<li><strong>Import et nettoyage de donn\u00e9es<\/strong> : synchronisation de fichiers CSV ou de lots de factures, avec d\u00e9doublonnage et normalisation avant int\u00e9gration.<\/li>\n<li><strong>Listes uniques ou tri\u00e9es<\/strong> : d\u00e9doublonnage de contacts, classement automatique d&rsquo;articles, gr\u00e2ce \u00e0 <strong>Dictionary<\/strong> et \u00e0 la m\u00e9thode <strong>Sort<\/strong> d&rsquo;<strong>ArrayList<\/strong>.<\/li>\n<li><strong>Tableaux crois\u00e9s et synth\u00e8ses<\/strong> : agr\u00e9gation d&rsquo;indicateurs dans des tableaux temporaires en m\u00e9moire (Array), avant int\u00e9gration \u00e0 des tableaux crois\u00e9s dynamiques Excel.<\/li>\n<li><strong>Analyse comparative multi-sources<\/strong> : confronter deux extractions (base de donn\u00e9es et export Excel) pour d\u00e9tecter des \u00e9carts.<\/li>\n<li><strong>Gestion dynamique d&rsquo;objets m\u00e9tier<\/strong> : suivi de listes de clients, de factures ou de tickets dont le volume varie dans le temps.<\/li>\n<\/ul>\n<p>Ces usages restent au c\u0153ur du reporting et de l&rsquo;automatisation bureautique, quel que soit le secteur.\n<\/p>\n<h2>Optimisation et bonnes pratiques<\/h2>\n<p>\nGarantir performance et robustesse implique de s&rsquo;appuyer sur des m\u00e9thodes \u00e9prouv\u00e9es, ind\u00e9pendamment de tout chiffre de benchmark non v\u00e9rifiable :<\/p>\n<ul>\n<li><strong>Structuration<\/strong> : <strong>ArrayList<\/strong> pour manipuler rapidement des volumes flexibles d&rsquo;objets non typ\u00e9s (l\u00e0 o\u00f9 le .NET Framework est disponible), <strong>Dictionary<\/strong> pour des recherches par cl\u00e9 sur un r\u00e9f\u00e9rentiel.<\/li>\n<li><strong>Gestion m\u00e9moire<\/strong> : lib\u00e9rez syst\u00e9matiquement les variables objets (<code>Set obj = Nothing<\/code>), surveillez la port\u00e9e des structures dans les traitements planifi\u00e9s (T\u00e2ches planifi\u00e9es Windows, par exemple).<\/li>\n<li><strong>Optimisation des it\u00e9rations<\/strong> : regroupez les traitements par lots, \u00e9vitez les boucles imbriqu\u00e9es sur de grandes listes ; pr\u00e9f\u00e9rez les m\u00e9thodes natives (<strong>Sort<\/strong>, <strong>Filter<\/strong>, <strong>ToArray<\/strong>).<\/li>\n<li><strong>Pr\u00e9vention des erreurs classiques<\/strong> : v\u00e9rifiez syst\u00e9matiquement les bornes d&rsquo;indice avec <strong>LBound\/UBound<\/strong>, employez <strong>Option Explicit<\/strong> pour fiabiliser le code.<\/li>\n<li><strong>Tests cibl\u00e9s<\/strong> : validez les modules critiques sur un jeu de donn\u00e9es r\u00e9duit avant un traitement en masse.<\/li>\n<\/ul>\n<h2>\u00c0 faire \/ \u00e0 \u00e9viter<\/h2>\n<div class=\"vbal-checklist\">\n<div class=\"vbal-check-col vbal-do\">\n<h3>\u2713 \u00c0 faire<\/h3>\n<ul>\n<li><span class=\"vbal-mk\">\u2713<\/span><span>Activer <strong>Option Explicit<\/strong> syst\u00e9matiquement<\/span><\/li>\n<li><span class=\"vbal-mk\">\u2713<\/span><span>V\u00e9rifier <strong>LBound\/UBound<\/strong> avant de boucler sur un tableau<\/span><\/li>\n<li><span class=\"vbal-mk\">\u2713<\/span><span>Lib\u00e9rer les objets (<code>Set obj = Nothing<\/code>) en fin de proc\u00e9dure<\/span><\/li>\n<li><span class=\"vbal-mk\">\u2713<\/span><span>Sauvegarder une copie du classeur avant un test de macro<\/span><\/li>\n<li><span class=\"vbal-mk\">\u2713<\/span><span>Tester sur un petit \u00e9chantillon avant un traitement en masse<\/span><\/li>\n<\/ul><\/div>\n<div class=\"vbal-check-col vbal-avoid\">\n<h3>\u2715 \u00c0 \u00e9viter<\/h3>\n<ul>\n<li><span class=\"vbal-mk\">\u2715<\/span><span>Compter sur <strong>Ctrl+Z<\/strong> pour annuler les effets d&rsquo;une macro<\/span><\/li>\n<li><span class=\"vbal-mk\">\u2715<\/span><span>Utiliser <code>CreateObject(\"System.Collections.ArrayList\")<\/code> sans v\u00e9rifier sa disponibilit\u00e9 (Mac, poste sans .NET Framework)<\/span><\/li>\n<li><span class=\"vbal-mk\">\u2715<\/span><span>Laisser <code>Application.DisplayAlerts = False<\/code> sans le remettre \u00e0 <code>True<\/code><\/span><\/li>\n<li><span class=\"vbal-mk\">\u2715<\/span><span>Activer un fichier <code>.xlsm<\/code> re\u00e7u par mail ou t\u00e9l\u00e9charg\u00e9 sans en conna\u00eetre la source<\/span><\/li>\n<li><span class=\"vbal-mk\">\u2715<\/span><span>Oublier que <strong>Split\/Join<\/strong> renvoient un tableau index\u00e9 \u00e0 partir de 0, quel que soit <code>Option Base<\/code><\/span><\/li>\n<\/ul><\/div>\n<\/div>\n<h2>Conclusion et ressources<\/h2>\n<p>\nL&rsquo;expertise sur la gestion des listes en VBA s&rsquo;appuie sur l&rsquo;\u00e9quilibre entre <strong>efficacit\u00e9<\/strong>, <strong>flexibilit\u00e9<\/strong> et <strong>s\u00e9curit\u00e9<\/strong>. Quelques principes \u00e0 retenir :<\/p>\n<ul>\n<li>Tester syst\u00e9matiquement une macro sur une copie avant de l&rsquo;ex\u00e9cuter sur les donn\u00e9es r\u00e9elles,<\/li>\n<li>Documenter le code et les choix structurels pour la maintenabilit\u00e9,<\/li>\n<li>Choisir la structure (Array, ArrayList, Collection, Dictionary) en fonction du besoin r\u00e9el, pas par habitude,<\/li>\n<li>Ne jamais pr\u00e9sumer qu&rsquo;une biblioth\u00e8que emprunt\u00e9e au .NET (comme ArrayList) est disponible sur tous les postes.<\/li>\n<\/ul>\n<p>Pour approfondir, la r\u00e9f\u00e9rence du mod\u00e8le objet VBA reste la documentation officielle Microsoft (<em>learn.microsoft.com\/office\/vba\/api<\/em>), compl\u00e9t\u00e9e par les communaut\u00e9s d&rsquo;entraide g\u00e9n\u00e9ralistes comme Stack Overflow ou Microsoft Q&#038;A pour les cas particuliers.\n<\/p>\n<section class=\"vbal-faq\">\n<h2>Questions fr\u00e9quentes<\/h2>\n<details>\n<summary><span>Ctrl+Z peut-il annuler ce qu&rsquo;une macro a fait sur mes donn\u00e9es ?<\/span><\/summary>\n<div class=\"vbal-faq-a\">Non. L&rsquo;historique d&rsquo;annulation d&rsquo;Excel ne couvre pas les actions r\u00e9alis\u00e9es par du code VBA. Une fois la macro ex\u00e9cut\u00e9e, ses modifications sont d\u00e9finitives sauf si le code pr\u00e9voit lui-m\u00eame une sauvegarde pr\u00e9alable ou une routine de retour arri\u00e8re.<\/div>\n<\/details>\n<details>\n<summary><span>Array, ArrayList, Collection ou Dictionary : comment choisir ?<\/span><\/summary>\n<div class=\"vbal-faq-a\">Array pour un volume homog\u00e8ne de taille connue \u00e0 l&rsquo;avance ; ArrayList quand la taille varie et qu&rsquo;il faut trier\/supprimer facilement ; Dictionary pour retrouver une valeur par cl\u00e9 ou d\u00e9dupliquer ; Collection pour stocker des objets h\u00e9t\u00e9rog\u00e8nes sans besoin de tri rapide.<\/div>\n<\/details>\n<details>\n<summary><span>CreateObject(\u00ab\u00a0System.Collections.ArrayList\u00a0\u00bb) fonctionne-t-il sur tous les postes ?<\/span><\/summary>\n<div class=\"vbal-faq-a\">Non. Cette instruction s&rsquo;appuie sur le .NET Framework de Windows. Elle \u00e9choue sur Excel pour Mac et peut \u00e9chouer sur un poste Windows o\u00f9 le .NET Framework n&rsquo;est pas install\u00e9 ou pas enregistr\u00e9 pour l&rsquo;interop\u00e9rabilit\u00e9 COM. Sur un environnement incertain, Collection ou Scripting.Dictionary sont des alternatives natives plus s\u00fbres.<\/div>\n<\/details>\n<details>\n<summary><span>Pourquoi Split renvoie-t-il un tableau qui commence \u00e0 0 m\u00eame avec Option Base 1 ?<\/span><\/summary>\n<div class=\"vbal-faq-a\">Parce que Split (comme Join) ignore le r\u00e9glage Option Base du module : le tableau qu&rsquo;il retourne est toujours index\u00e9 \u00e0 partir de 0. Utilisez LBound\/UBound pour boucler sans supposer la borne de d\u00e9part.<\/div>\n<\/details>\n<details>\n<summary><span>Faut-il d\u00e9sactiver les alertes (Application.DisplayAlerts) pour automatiser des suppressions ?<\/span><\/summary>\n<div class=\"vbal-faq-a\">Seulement si n\u00e9cessaire, et en le remettant \u00e0 True en fin de proc\u00e9dure. DisplayAlerts = False supprime aussi les demandes de confirmation de suppression : une macro mal test\u00e9e peut alors effacer des donn\u00e9es sans avertissement.<\/div>\n<\/details>\n<\/section>\n<\/div>\n<hr>\n<div class=\"articles-lies\">\n<h3>\u00c0 lire aussi<\/h3>\n<ul>\n<li><a href=\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/maitriser-vba-workbook-astuces-essentielles-pour-automatiser-excel-efficacement\/\">Ma\u00eetriser VBA Workbook : Astuces essentielles pour automatiser Excel efficacement<\/a><\/li>\n<li><a href=\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/aide-au-codage-cim-10-comprendre-la-classification-et-ses-applications\/\">Aide au codage CIM 10 : Comprendre la classification et ses applications<\/a><\/li>\n<li><a href=\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/comprendre-le-cast-en-c-conversions-de-type-explicites-et-applications\/\">Comprendre le cast en C : conversions de type explicites et applications<\/a><\/li>\n<li><a href=\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/comprendre-le-cast-en-c-conversion-explicite-et-implicite-expliquees\/\">Comprendre le cast en C : conversion explicite et implicite expliqu\u00e9es<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":34,"featured_media":7597,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"manual_indexmenow":false,"indexmenow_id_project":0,"footnotes":""},"categories":[4523],"tags":[2428,4663,4662],"class_list":["post-7595","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-securite-et-resilience-des-reseaux","tag-automatisation","tag-fonctions-cls","tag-vba-excel","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-25"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.3 (Yoast SEO v26.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>VBA List : Array, ArrayList, Dictionary et Collection<\/title>\n<meta name=\"description\" content=\"Array, ArrayList, Collection, Dictionary : comment choisir la structure de liste adapt\u00e9e en VBA, ses limites r\u00e9elles et les pi\u00e8ges \u00e0 \u00e9viter sur Excel.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VBA List : Array, ArrayList, Dictionary et Collection\" \/>\n<meta property=\"og:description\" content=\"Array, ArrayList, Collection, Dictionary : comment choisir la structure de liste adapt\u00e9e en VBA, ses limites r\u00e9elles et les pi\u00e8ges \u00e0 \u00e9viter sur Excel.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/\" \/>\n<meta property=\"og:site_name\" content=\"sbi29\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-68908a2acc3e0-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"686\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Hugo Lambrecht\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/\"},\"author\":{\"name\":\"Hugo Lambrecht\",\"@id\":\"https:\/\/sbi29.fr\/blog\/#\/schema\/person\/3c864cdc320801e3db34b663e7e3f816\"},\"headline\":\"VBA List : Fonctionnalit\u00e9s cl\u00e9s et applications pour automatiser Excel\",\"datePublished\":\"2026-09-05T22:53:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/\"},\"wordCount\":1882,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/sbi29.fr\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-68908a2acc3e0-scaled.png\",\"keywords\":[\"Automatisation\",\"Fonctions cl\u00e9s\",\"vba excel\"],\"articleSection\":[\"S\u00e9curit\u00e9 et R\u00e9silience des R\u00e9seaux\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/\",\"url\":\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/\",\"name\":\"VBA List : Array, ArrayList, Dictionary et Collection\",\"isPartOf\":{\"@id\":\"https:\/\/sbi29.fr\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-68908a2acc3e0-scaled.png\",\"datePublished\":\"2026-09-05T22:53:51+00:00\",\"description\":\"Array, ArrayList, Collection, Dictionary : comment choisir la structure de liste adapt\u00e9e en VBA, ses limites r\u00e9elles et les pi\u00e8ges \u00e0 \u00e9viter sur Excel.\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/#primaryimage\",\"url\":\"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-68908a2acc3e0-scaled.png\",\"contentUrl\":\"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-68908a2acc3e0-scaled.png\",\"width\":1200,\"height\":686,\"caption\":\"Image g\u00e9n\u00e9r\u00e9e par IA optimis\u00e9e pour Google Discover\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sbi29.fr\/blog\/#website\",\"url\":\"https:\/\/sbi29.fr\/blog\/\",\"name\":\"sbi29.fr\",\"description\":\"SBI29, l&#039;innovation digitale \u00e0 votre service\",\"publisher\":{\"@id\":\"https:\/\/sbi29.fr\/blog\/#organization\"},\"alternateName\":\"SBI29, l'innovation digitale \u00e0 votre service\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sbi29.fr\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/sbi29.fr\/blog\/#organization\",\"name\":\"Foretsensations.fr\",\"url\":\"https:\/\/sbi29.fr\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/sbi29.fr\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2024\/12\/SBI29.png\",\"contentUrl\":\"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2024\/12\/SBI29.png\",\"width\":500,\"height\":500,\"caption\":\"Foretsensations.fr\"},\"image\":{\"@id\":\"https:\/\/sbi29.fr\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/sbi29.fr\/blog\/#\/schema\/person\/3c864cdc320801e3db34b663e7e3f816\",\"name\":\"Hugo Lambrecht\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/sbi29.fr\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2026\/06\/persona_hugo-l-96x96.jpg\",\"contentUrl\":\"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2026\/06\/persona_hugo-l-96x96.jpg\",\"caption\":\"Hugo Lambrecht\"},\"description\":\"Geek assum\u00e9 et veilleur tech depuis plus de dix ans, je passe mes journ\u00e9es \u00e0 tester, comparer et expliquer le num\u00e9rique. Mes terrains favoris : les astuces high-tech du quotidien, la s\u00e9curit\u00e9 en ligne et les outils web, des VPN aux logiciels qui simplifient la vie. J'aime prendre un sujet r\u00e9put\u00e9 compliqu\u00e9 et le rendre limpide pour quelqu'un qui n'est pas d\u00e9veloppeur. Avant de recommander un produit ou un service, je le mets r\u00e9ellement \u00e0 l'\u00e9preuve, je v\u00e9rifie les versions et les tarifs en vigueur, et je signale les limites autant que les atouts. Je me m\u00e9fie des classements de complaisance : un comparatif n'a de valeur que si la m\u00e9thode est transparente. Mon fil rouge, c'est l'utilit\u00e9 concr\u00e8te : aider le lecteur \u00e0 mieux choisir, mieux configurer et mieux se prot\u00e9ger, sans tomber dans le jargon.\",\"sameAs\":[\"https:\/\/hugolambrecht.fr\/\"],\"url\":\"https:\/\/sbi29.fr\/blog\/auteur\/hugo-lambrecht\/\",\"jobTitle\":\"R\u00e9dacteur en chef \u00b7 Tech & High-tech\",\"knowsAbout\":[\"Tech\",\"Web\",\"High-tech\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"VBA List : Array, ArrayList, Dictionary et Collection","description":"Array, ArrayList, Collection, Dictionary : comment choisir la structure de liste adapt\u00e9e en VBA, ses limites r\u00e9elles et les pi\u00e8ges \u00e0 \u00e9viter sur Excel.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/","og_locale":"fr_FR","og_type":"article","og_title":"VBA List : Array, ArrayList, Dictionary et Collection","og_description":"Array, ArrayList, Collection, Dictionary : comment choisir la structure de liste adapt\u00e9e en VBA, ses limites r\u00e9elles et les pi\u00e8ges \u00e0 \u00e9viter sur Excel.","og_url":"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/","og_site_name":"sbi29","og_image":[{"width":1200,"height":686,"url":"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-68908a2acc3e0-scaled.png","type":"image\/png"}],"author":"Hugo Lambrecht","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/#article","isPartOf":{"@id":"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/"},"author":{"name":"Hugo Lambrecht","@id":"https:\/\/sbi29.fr\/blog\/#\/schema\/person\/3c864cdc320801e3db34b663e7e3f816"},"headline":"VBA List : Fonctionnalit\u00e9s cl\u00e9s et applications pour automatiser Excel","datePublished":"2026-09-05T22:53:51+00:00","mainEntityOfPage":{"@id":"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/"},"wordCount":1882,"commentCount":0,"publisher":{"@id":"https:\/\/sbi29.fr\/blog\/#organization"},"image":{"@id":"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/#primaryimage"},"thumbnailUrl":"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-68908a2acc3e0-scaled.png","keywords":["Automatisation","Fonctions cl\u00e9s","vba excel"],"articleSection":["S\u00e9curit\u00e9 et R\u00e9silience des R\u00e9seaux"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/","url":"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/","name":"VBA List : Array, ArrayList, Dictionary et Collection","isPartOf":{"@id":"https:\/\/sbi29.fr\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/#primaryimage"},"image":{"@id":"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/#primaryimage"},"thumbnailUrl":"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-68908a2acc3e0-scaled.png","datePublished":"2026-09-05T22:53:51+00:00","description":"Array, ArrayList, Collection, Dictionary : comment choisir la structure de liste adapt\u00e9e en VBA, ses limites r\u00e9elles et les pi\u00e8ges \u00e0 \u00e9viter sur Excel.","inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/sbi29.fr\/blog\/securite-et-resilience-des-reseaux\/vba-list-fonctionnalites-cles-et-applications-pour-automatiser-excel\/#primaryimage","url":"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-68908a2acc3e0-scaled.png","contentUrl":"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2025\/08\/pag-image-68908a2acc3e0-scaled.png","width":1200,"height":686,"caption":"Image g\u00e9n\u00e9r\u00e9e par IA optimis\u00e9e pour Google Discover"},{"@type":"WebSite","@id":"https:\/\/sbi29.fr\/blog\/#website","url":"https:\/\/sbi29.fr\/blog\/","name":"sbi29.fr","description":"SBI29, l&#039;innovation digitale \u00e0 votre service","publisher":{"@id":"https:\/\/sbi29.fr\/blog\/#organization"},"alternateName":"SBI29, l'innovation digitale \u00e0 votre service","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sbi29.fr\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/sbi29.fr\/blog\/#organization","name":"Foretsensations.fr","url":"https:\/\/sbi29.fr\/blog\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/sbi29.fr\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2024\/12\/SBI29.png","contentUrl":"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2024\/12\/SBI29.png","width":500,"height":500,"caption":"Foretsensations.fr"},"image":{"@id":"https:\/\/sbi29.fr\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/sbi29.fr\/blog\/#\/schema\/person\/3c864cdc320801e3db34b663e7e3f816","name":"Hugo Lambrecht","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/sbi29.fr\/blog\/#\/schema\/person\/image\/","url":"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2026\/06\/persona_hugo-l-96x96.jpg","contentUrl":"https:\/\/sbi29.fr\/blog\/wp-content\/uploads\/2026\/06\/persona_hugo-l-96x96.jpg","caption":"Hugo Lambrecht"},"description":"Geek assum\u00e9 et veilleur tech depuis plus de dix ans, je passe mes journ\u00e9es \u00e0 tester, comparer et expliquer le num\u00e9rique. Mes terrains favoris : les astuces high-tech du quotidien, la s\u00e9curit\u00e9 en ligne et les outils web, des VPN aux logiciels qui simplifient la vie. J'aime prendre un sujet r\u00e9put\u00e9 compliqu\u00e9 et le rendre limpide pour quelqu'un qui n'est pas d\u00e9veloppeur. Avant de recommander un produit ou un service, je le mets r\u00e9ellement \u00e0 l'\u00e9preuve, je v\u00e9rifie les versions et les tarifs en vigueur, et je signale les limites autant que les atouts. Je me m\u00e9fie des classements de complaisance : un comparatif n'a de valeur que si la m\u00e9thode est transparente. Mon fil rouge, c'est l'utilit\u00e9 concr\u00e8te : aider le lecteur \u00e0 mieux choisir, mieux configurer et mieux se prot\u00e9ger, sans tomber dans le jargon.","sameAs":["https:\/\/hugolambrecht.fr\/"],"url":"https:\/\/sbi29.fr\/blog\/auteur\/hugo-lambrecht\/","jobTitle":"R\u00e9dacteur en chef \u00b7 Tech & High-tech","knowsAbout":["Tech","Web","High-tech"]}]}},"_links":{"self":[{"href":"https:\/\/sbi29.fr\/blog\/wp-json\/wp\/v2\/posts\/7595","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sbi29.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sbi29.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sbi29.fr\/blog\/wp-json\/wp\/v2\/users\/34"}],"replies":[{"embeddable":true,"href":"https:\/\/sbi29.fr\/blog\/wp-json\/wp\/v2\/comments?post=7595"}],"version-history":[{"count":2,"href":"https:\/\/sbi29.fr\/blog\/wp-json\/wp\/v2\/posts\/7595\/revisions"}],"predecessor-version":[{"id":8134,"href":"https:\/\/sbi29.fr\/blog\/wp-json\/wp\/v2\/posts\/7595\/revisions\/8134"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sbi29.fr\/blog\/wp-json\/wp\/v2\/media\/7597"}],"wp:attachment":[{"href":"https:\/\/sbi29.fr\/blog\/wp-json\/wp\/v2\/media?parent=7595"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sbi29.fr\/blog\/wp-json\/wp\/v2\/categories?post=7595"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sbi29.fr\/blog\/wp-json\/wp\/v2\/tags?post=7595"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}