{"id":3461,"date":"2017-08-21T15:45:38","date_gmt":"2017-08-21T15:45:38","guid":{"rendered":"https:\/\/answers.gurussolutions.com\/answers\/comment-mettre-en-oeuvre-des-expressions-regulieres-dans-microsoft-excel-a-laide-de-vba\/"},"modified":"2026-07-28T18:25:47","modified_gmt":"2026-07-28T18:25:47","slug":"comment-mettre-en-oeuvre-des-expressions-regulieres-dans-microsoft-excel-a-laide-de-vba","status":"publish","type":"qa_entry","link":"https:\/\/answers.gurussolutions.com\/fr\/answers\/comment-mettre-en-oeuvre-des-expressions-regulieres-dans-microsoft-excel-a-laide-de-vba\/","title":{"rendered":"Comment mettre en \u0153uvre des expressions r\u00e9guli\u00e8res dans Microsoft Excel \u00e0 l&rsquo;aide de VBA"},"content":{"rendered":"","protected":false},"template":"","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","ga_subtitle":"Effectuez des recherches avanc\u00e9es de correspondance de cha\u00eenes de caract\u00e8res dans Excel en impl\u00e9mentant des fonctions personnalis\u00e9es en Visual Basic pour Applications (VBA).","ga_short_answer":"Pour utiliser des expressions r\u00e9guli\u00e8res dans Excel, cr\u00e9ez une fonction personnalis\u00e9e en Visual Basic pour Applications (VBA). Acc\u00e9dez \u00e0 l'\u00e9diteur VBA (Alt-F11), ins\u00e9rez un module et r\u00e9f\u00e9rencez \u00ab Microsoft VBScript Regular Expressions 5.5 \u00bb. Activez les macros via l'onglet \u00ab D\u00e9veloppeur \u00bb. Une fois configur\u00e9e, la fonction personnalis\u00e9e peut \u00eatre appel\u00e9e comme n'importe quelle autre fonction Excel pour effectuer une recherche de motifs performante.","ga_scenario":"Les utilisateurs ont souvent besoin d\u2019effectuer des op\u00e9rations complexes de correspondance et d\u2019extraction de cha\u00eenes de caract\u00e8res dans Excel, une fonctionnalit\u00e9 qui n\u2019est pas prise en charge en natif par les fonctions standard d\u2019Excel. Cette limitation n\u00e9cessite de trouver une m\u00e9thode permettant d\u2019\u00e9tendre les fonctionnalit\u00e9s d\u2019Excel afin de prendre en charge les expressions r\u00e9guli\u00e8res, qui sont indispensables pour les t\u00e2ches avanc\u00e9es de manipulation et de validation des donn\u00e9es.","ga_solution":"Pour mettre en \u0153uvre des expressions r\u00e9guli\u00e8res dans Excel, vous devez cr\u00e9er et configurer une fonction personnalis\u00e9e en Visual Basic pour Applications (VBA). Cette fonction peut ensuite \u00eatre appel\u00e9e directement dans les feuilles de calcul Excel. Suivez ces \u00e9tapes pour configurer et utiliser les expressions r\u00e9guli\u00e8res : 1.  **Acc\u00e9dez \u00e0 l'\u00e9diteur Visual Basic :** Dans une feuille de calcul Excel, appuyez sur Alt-F11 pour ouvrir l'\u00e9diteur Visual Basic. 2.  **Ins\u00e9rez un nouveau module :** Dans l\u2019Explorateur de projet VBA, cliquez avec le bouton droit de la souris et s\u00e9lectionnez \u00ab Ins\u00e9rer \u00bb > \u00ab Module \u00bb.3.  **Importez les modules RegEx :** Allez dans \u00ab Outils \u00bb > \u00ab R\u00e9f\u00e9rences \u00bb et cochez la case \u00ab Microsoft VBScript Regular Expressions 5.5 \u00bb. Cliquez sur OK.4.  **Activer les macros :**    *   Acc\u00e9dez \u00e0 l\u2019onglet \u00ab D\u00e9veloppeur \u00bb dans Excel. Si l\u2019onglet \u00ab D\u00e9veloppeur \u00bb n\u2019est pas visible, allez dans \u00ab Fichier \u00bb > \u00ab Options \u00bb > \u00ab Personnaliser le ruban \u00bb et s\u00e9lectionnez le sous-onglet \u00ab D\u00e9veloppeur \u00bb dans le menu principal situ\u00e9 \u00e0 droite.    *   Cliquez sur \u00ab S\u00e9curit\u00e9 des macros \u00bb dans l\u2019onglet \u00ab D\u00e9veloppeur \u00bb pour ajuster les param\u00e8tres selon vos besoins.5.  **Impl\u00e9mentez la fonction personnalis\u00e9e :** Ins\u00e9rez le script Visual Basic suivant dans le module nouvellement cr\u00e9\u00e9. Cette fonction, TestRegExp, recherche toutes les occurrences d\u2019un motif d\u2019expression r\u00e9guli\u00e8re donn\u00e9 au sein d\u2019une cha\u00eene de caract\u00e8res. Notez que les guillemets doubles sont obligatoires pour le motif d\u2019expression r\u00e9guli\u00e8re lors de l\u2019appel de la fonction dans Excel.\n\n```\nvbaFunction TestRegExp(myPattern As String, myString As String)'Create objects.Dim objRegExp As RegExpDim objMatch As MatchDim colMatches As MatchCollectionDim RetStr As String' Create a regular expression object.Set objRegExp New RegExpobjRegExp.Pattern myPatternobjRegExp.IgnoreCase TrueobjRegExp.Global TrueIf (objRegExp.Test(myString) True) ThenSet colMatches  objRegExp.Execute(myString)   ' Execute search.For Each objMatch In colMatches   ' Iterate Matches collection.  RetStr  RetStr & objMatch.ValueNextElseRetStr  \"String Matching Failed\"End IfTestRegExp RetStrEnd Function\n```\n\nCette fonction renvoie toutes les occurrences concat\u00e9n\u00e9es. Pour ne r\u00e9cup\u00e9rer que la premi\u00e8re correspondance, modifiez l\u2019affectation RetStr dans la boucle \u00ab For Each \u00bb comme suit : RetStr colMatches(0).Value. Un fichier d\u2019exemple contenant cette fonction peut \u00eatre t\u00e9l\u00e9charg\u00e9 \u00e0 l\u2019adresse suivante : https:\/\/dl.dropboxusercontent.com\/u\/18899591\/RegExFunctionForExcel.bas","ga_source_author":"","ga_source_author_email":"","ga_date_original":"2017-08-21T11:45:38-04:00","ga_date_verified":"2026-07-05","ga_source_subject":"How can we do regular expressions in Excel?","ga_ans_id":"ANS-1722","ga_publish_decision":"publish","ga_staleness_risk":"high","ga_review_priority":"verify_soon","ga_tier2_verdict":"still_accurate","ga_tier2_concerns":"","ga_final_category":"Other \/ Uncategorized","footnotes":""},"ga_category":[109,31,109],"ga_audience":[72],"ga_difficulty":[92],"class_list":["post-3461","qa_entry","type-qa_entry","status-publish","hentry","ga_category-autres","ga_category-other","ga_audience-data-analyst","ga_difficulty-niveau-intermediaire"],"taxonomy_info":{"ga_category":[{"value":109,"label":"Autres"},{"value":31,"label":"Other"},{"value":109,"label":"Autres"}],"ga_audience":[{"value":72,"label":"Data analyst"}],"ga_difficulty":[{"value":92,"label":"Niveau interm\u00e9diaire"}]},"featured_image_src_large":[],"author_info":[],"comment_info":"","_links":{"self":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/3461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry"}],"about":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/types\/qa_entry"}],"version-history":[{"count":1,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/3461\/revisions"}],"predecessor-version":[{"id":5381,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/3461\/revisions\/5381"}],"wp:attachment":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=3461"}],"wp:term":[{"taxonomy":"ga_category","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_category?post=3461"},{"taxonomy":"ga_audience","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_audience?post=3461"},{"taxonomy":"ga_difficulty","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_difficulty?post=3461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}