Texte en colonnes délimité dans une macro (Microsoft Excel)
L’une des fonctionnalités les plus pratiques d’Excel est la fonctionnalité Texte en colonnes, qui vous permet de diviser facilement le contenu des cellules en cellules individuelles en fonction des critères que vous spécifiez. Une méthode d’utilisation de la fonctionnalité consiste à lui permettre de reconnaître les caractères dans les cellules et d’utiliser ces caractères pour déclencher l’endroit où le fractionnement doit avoir lieu. Ce type de fractionnement est appelé fractionnement delimited.
Vous vous demandez peut-être comment effectuer une opération de texte en colonnes délimité dans une macro que vous êtes en train d’écrire. Cela est assez facile à faire en utilisant la méthode TextToColumns sur une sélection que vous avez configurée. Considérez la macro très simple suivante:
Sub ExampleSplit1() Selection.TextToColumns _ Destination:=Range("A2"), _ DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, _ Tab:=True, _ Semicolon:=False, _ Comma:=False, _ Space:=False, _ Other:=True, _ OtherChar:="-" End Sub
Notez toutes les variables que vous pouvez définir pour la méthode TextToColumns.
La plupart de ces variables ne sont nécessaires que parce qu’il s’agit d’un fractionnement délimité; les variables définissent ce qui est utilisé comme délimiteur par la méthode.
En commençant par la ligne Tab, les variables correspondent directement aux paramètres que vous définiriez à l’étape 2 de l’assistant de conversion de texte en colonnes, si vous utilisiez manuellement la fonctionnalité. Vous pouvez définir Tab, Point-virgule, Virgule et Espace sur True ou False, selon que vous souhaitez que ce caractère soit utilisé comme délimiteur.
Vous pouvez également définir la variable Autre sur True ou False, selon que vous souhaitez avoir un délimiteur « défini par l’utilisateur ». Si vous le définissez sur True, vous devez définir la variable OtherChar égale au caractère que vous souhaitez utiliser comme délimiteur.
Si vous utilisez la méthode TextToColumns plusieurs fois dans la même macro, la seule chose que vous devez faire sur les appels postérieurs au premier est de modifier les variables qui diffèrent de l’appel précédent. Par exemple, disons que vous appelez la méthode deux fois dans la même macro, et la première fois que vous voulez que le fractionnement soit sur une instance du caractère tiret, mais la seconde que vous voulez qu’il soit sur n’importe quelle instance d’un x minuscule . Vous pouvez assembler la macro comme ceci:
Sub ExampleSplit2() Dim objRange1 As Range Dim objRange2 As Range 'Set up the ranges Set objRange1 = Range("A2:A20") Set objRange2 = Range("A21:A35") 'Do the first parse objRange1.TextToColumns _ Destination:=Range("A2"), _ DataType:=xlDelimited, _ Tab:=False, _ Semicolon:=False, _ Comma:=False, _ Space:=False, _ Other:=True, _ OtherChar:="-" 'Do the second parse objRange2.TextToColumns _ Destination:=Range("A21"), _ DataType:=xlDelimited, _ OtherChar:="x" End Sub
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (8317) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:
link: / excel-Delimited_Text-to-Columns_in_a_Macro [Text-to-Columns délimité dans une macro]
.