{"id":6638,"date":"2016-08-28T20:11:02","date_gmt":"2016-08-28T18:11:02","guid":{"rendered":"https:\/\/www.auditsi.eu\/?p=6638"},"modified":"2016-08-28T20:11:02","modified_gmt":"2016-08-28T18:11:02","slug":"excel-vba-convertir-une-chaine-de-caracteres-en-une-variable-tableau-avec-la-fonction-split","status":"publish","type":"post","link":"https:\/\/www.auditsi.eu\/?p=6638","title":{"rendered":"EXCEL &#038; VBA : convertir une cha\u00eene de caract\u00e8res en une variable tableau avec la fonction Split"},"content":{"rendered":"<p style=\"text-align: justify;\">La fonction VBA\u00a0<em>Split<\/em> convertit une cha\u00eene de caract\u00e8res\u00a0en une <a href=\"https:\/\/www.auditsi.eu\/?p=5678\">variable tableau<\/a> \u00e0 partir\u00a0d&#8217;un s\u00e9parateur. Cette fonction r\u00e9alise la m\u00eame t\u00e2che que le menu EXCEL\u00a0<a href=\"https:\/\/www.auditsi.eu\/?p=1732\">Donn\u00e9es \/ Convertir \/ Format d\u00e9limit\u00e9<\/a>.<\/p>\n<p style=\"text-align: justify;\"><em>Syntaxe :<\/em><\/p>\n<pre class=\"lang:default decode:true\">VariableTableau = Split(Cha\u00eene, S\u00e9parateur)<\/pre>\n<p><em>Exemple :<\/em><\/p>\n<pre class=\"lang:default decode:true\">Const AdresseChoix = \"B16;B18;B20;B22;B24;B26;B28;B30;B32;B34;B38;B42;B44;B46;B48\"\r\nDim TableAdresseChoix() As String\r\n\r\nSub LectureTable()\r\n    TableAdresseChoix = Split(AdresseChoix, \";\")\r\nEnd Sub<\/pre>\n<p style=\"text-align: justify;\">Dans cet exemple, la variable <em>AdresseChoix<\/em> contient une cha\u00eene de caract\u00e8res constitu\u00e9es d&#8217;adresses de cellules d&#8217;un tableau Excel, chacune s\u00e9par\u00e9e par un point virgule (s\u00e9parateur). Le s\u00e9parateur peut \u00eatre n&#8217;importe quel autre caract\u00e8re.<\/p>\n<p style=\"text-align: justify;\">Une fois la fonction <em>Split<\/em> appliqu\u00e9e \u00e0 la variable <em>AdresseChoix<\/em> avec le s\u00e9parateur point virgule, la variable tableau <em>TableAdresseChoix<\/em> contient les adresses de cellules individuelles de <em>TableAdresseChoix(0)<\/em> \u00e0 <em>TableAdresseChoix(14)<\/em>, soit quinze occurrences.<\/p>\n<p style=\"text-align: justify;\">Le couple de commandes <em>DATA<\/em> (stockage des donn\u00e9es s\u00e9par\u00e9es par des virgules) et\u00a0<em>READ<\/em> (lecture des donn\u00e9es) associ\u00e9 \u00e0 une boucle compteur <em><a href=\"https:\/\/www.auditsi.eu\/?p=1696\">FOR&#8230; TO&#8230; NEXT<\/a><\/em>, commun\u00e9ment pr\u00e9sentes dans la plupart des langages <a href=\"https:\/\/www.auditsi.eu\/?p=1732\">BASIC<\/a> des <a href=\"https:\/\/www.auditsi.eu\/?page_id=2119\">ordinateurs des ann\u00e9es 80<\/a>, effectuait un traitement similaire.<\/p>\n<p><em>Exemple d&#8217;utilisation de la variable tableau :<\/em><\/p>\n<pre class=\"lang:default decode:true\">Dim i As Long\r\n    \r\nFor i = 0 To UBound(TableAdresseChoix)\r\n    .Range(TableAdresseChoix(i)).Value = i * 10\r\nNext i\r\n<\/pre>\n<p>Dans cet exemple, la boucle compteur <em>For&#8230; To&#8230; Next<\/em> attribue successivement les valeurs de 0 \u00e0 14 (soit le nombre d&#8217;occurrences contenues dans la variable tableau <em>TableAdresseChoix<\/em> : <em>UBound(TableAdresseChoix)<\/em>) et le r\u00e9sultat du calcul <em>i * 10<\/em> (soit 0 puis 10 puis 20&#8230;) est stock\u00e9 dans les cellules (<em>.Range<\/em>) du tableau Excel\u00a0identifi\u00e9es dans la variable tableau <em>TableAdresseChoix<\/em> (soit <em>B16, B18, B20<\/em>&#8230;).<\/p>\n<p>Pour plus d&#8217;informations sur l&#8217;utilisation des variables tableaux, consulter l&#8217;article <a href=\"https:\/\/www.auditsi.eu\/?p=5678\">Manipuler des plages de cellules dans des variables tableaux<\/a>.<\/p>\n<p>La fonction <em>Join<\/em> r\u00e9alise l&#8217;inverse de <em>Split<\/em> en concat\u00e9nant le contenu d&#8217;une variable tableau dans une variable.<\/p>\n<p><em>Tous savoir sur l<\/em><em>a <a href=\"http:\/\/www.auditsi.eu\/?tag=conversion-de-fichier\">conversion de fichier<\/a> (Texte &lt;-&gt; Excel) \/ l\u2019<a href=\"http:\/\/www.auditsi.eu\/?tag=analyse-de-donnees\">analyse de donn\u00e9es<\/a><br \/>\n<\/em><\/p>\n<p>Approfondir le sujet : <a title=\"Programmer en VBA\" href=\"http:\/\/www.auditsi.eu\/?cat=1569\">Programmer en VBA<\/a> \/ <a title=\"S\u00e9rie d'articles Ma\u00eetriser Excel\" href=\"http:\/\/www.auditsi.eu\/?p=4475\">D\u00e9couvrir la s\u00e9rie d\u2019articles Ma\u00eetriser Excel<\/a><\/p>\n<div style=\"padding-bottom:20px; padding-top:10px;\" class=\"hupso-share-buttons\"><!-- Hupso Share Buttons - https:\/\/www.hupso.com\/share\/ --><a class=\"hupso_counters\" href=\"https:\/\/www.hupso.com\/share\/\"><img decoding=\"async\" src=\"https:\/\/static.hupso.com\/share\/buttons\/lang\/fr\/share-small.png\" style=\"border:0px; padding-top:2px; float:left;\" alt=\"Share Button\"\/><\/a><script type=\"text\/javascript\">var hupso_services_c=new Array(\"twitter\",\"facebook_like\",\"facebook_send\",\"email\",\"print\",\"linkedin\");var hupso_counters_lang = \"fr_FR\";var hupso_image_folder_url = \"\";var hupso_twitter_via=\"BenoitRiviere14\";var hupso_url_c=\"\";var hupso_title_c=\"EXCEL%20%26%20VBA%20%3A%20convertir%20une%20cha%C3%AEne%20de%20caract%C3%A8res%20en%20une%20variable%20tableau%20avec%20la%20fonction%20Split\";<\/script><script type=\"text\/javascript\" src=\"https:\/\/static.hupso.com\/share\/js\/counters.js\"><\/script><!-- Hupso Share Buttons --><\/div>","protected":false},"excerpt":{"rendered":"<p>La fonction VBA\u00a0Split convertit une cha\u00eene de caract\u00e8res\u00a0en une variable tableau \u00e0 partir\u00a0d&#8217;un s\u00e9parateur. Cette fonction r\u00e9alise la m\u00eame t\u00e2che que le menu EXCEL\u00a0Donn\u00e9es \/ Convertir \/ Format d\u00e9limit\u00e9. Syntaxe : VariableTableau = Split(Cha\u00eene, S\u00e9parateur) Exemple : Const AdresseChoix = &#8220;B16;B18;B20;B22;B24;B26;B28;B30;B32;B34;B38;B42;B44;B46;B48&#8221; Dim TableAdresseChoix() As String Sub LectureTable() TableAdresseChoix = Split(AdresseChoix, &#8220;;&#8221;) End Sub Dans cet &#8230;<\/p>\n<p><a href=\"https:\/\/www.auditsi.eu\/?p=6638\" class=\"more-link\">Continue reading &lsquo;EXCEL &#038; VBA : convertir une cha\u00eene de caract\u00e8res en une variable tableau avec la fonction Split&rsquo; &raquo;<\/a><\/p>\n<div style=\"padding-bottom:20px; padding-top:10px;\" class=\"hupso-share-buttons\"><!-- Hupso Share Buttons - https:\/\/www.hupso.com\/share\/ --><a class=\"hupso_counters\" href=\"https:\/\/www.hupso.com\/share\/\"><img src=\"https:\/\/static.hupso.com\/share\/buttons\/lang\/fr\/share-small.png\" style=\"border:0px; padding-top:2px; float:left;\" alt=\"Share Button\"\/><\/a><script type=\"text\/javascript\">var hupso_services_c=new Array(\"twitter\",\"facebook_like\",\"facebook_send\",\"email\",\"print\",\"linkedin\");var hupso_counters_lang = \"fr_FR\";var hupso_image_folder_url = \"\";var hupso_twitter_via=\"BenoitRiviere14\";var hupso_url_c=\"\";var hupso_title_c=\"EXCEL%20%26%20VBA%20%3A%20convertir%20une%20cha%C3%AEne%20de%20caract%C3%A8res%20en%20une%20variable%20tableau%20avec%20la%20fonction%20Split\";<\/script><script type=\"text\/javascript\" src=\"https:\/\/static.hupso.com\/share\/js\/counters.js\"><\/script><!-- Hupso Share Buttons --><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"ngg_post_thumbnail":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[1569,215],"tags":[1647,105,1748,387,1747,1749,987,1746,1566,1133],"class_list":["post-6638","post","type-post","status-publish","format-standard","hentry","category-programmer-en-vba","category-vba","tag-basic","tag-conversion-de-donnees","tag-data","tag-for-to-next","tag-join","tag-read","tag-separateur","tag-split","tag-ubound","tag-variable-tableau"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/6638","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6638"}],"version-history":[{"count":6,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/6638\/revisions"}],"predecessor-version":[{"id":6646,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=\/wp\/v2\/posts\/6638\/revisions\/6646"}],"wp:attachment":[{"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6638"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6638"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.auditsi.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6638"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}