Séparer les cellules (Microsoft Excel)
Cela vous est probablement déjà arrivé: vous obtenez des données pour votre feuille de calcul et l’une des colonnes contient des noms. Le seul problème est que les noms sont tous regroupés. Par exemple, la cellule contient « Allen Wyatt, »
mais vous préférez avoir le prénom dans une colonne et le nom de famille dans la colonne voisine à droite. Comment séparez-vous les noms?
Vous pouvez facilement utiliser la fonctionnalité Texte en colonnes dans Excel pour séparer vos données. Suivez simplement ces étapes:
-
Sélectionnez la plage de cellules que vous souhaitez fractionner.
-
Choisissez Texte en colonnes dans le menu Données. Excel démarre l’Assistant Conversion de texte en colonnes. (Voir la figure 1.)
-
Choisissez si le texte que vous avez sélectionné est de largeur fixe ou délimité.
(Dans le cas d’un espace entre le prénom et le nom, le texte serait délimité.)
-
Cliquez sur Suivant.
-
Spécifiez les délimiteurs que vous souhaitez qu’Excel reconnaisse. Dans le cas de la séparation des noms, vous devez vous assurer que vous utilisez des espaces comme délimiteurs.
-
Cliquez sur Terminer.
Excel sépare les cellules de votre plage sélectionnée, séparant tout le texte au délimiteur que vous avez spécifié. Excel utilise le nombre de colonnes nécessaires pour contenir les données.
Si vous ne souhaitez pas répartir complètement vos données sur les colonnes, vous devrez utiliser une macro. Par exemple, si une cellule contient « John Davis, Esq. », L’utilisation de la fonction Texte en colonnes entraînera la répartition des données en trois colonnes: la première contenant « John », la seconde contenant « Davis » (avec le virgule) et le troisième contenant «Esq». Si vous préférez que les données soient divisées en deux colonnes (« John » dans l’une et « Davis, Esq. » Dans l’autre, alors la macro suivante sera utile:
Sub PullApart() Dim FirstCol As Integer, FirstRow As Integer Dim RowCount As Integer Dim ThisRow As Integer Dim j As Integer, k As Integer Dim MyText As String FirstCol = ActiveWindow.RangeSelection.Column FirstRow = ActiveWindow.RangeSelection.Row RowCount = ActiveWindow.Selection.Rows.Count For j = 1 To RowCount ThisRow = FirstRow + j - 1 MyText = Cells(ThisRow, FirstCol).Text k = InStr(MyText, " ") If k > 0 Then Cells(ThisRow, FirstCol + 1).Value = Mid(MyText, k + 1) Cells(ThisRow, FirstCol).Value = Left(MyText, k - 1) End If Next j End Sub
Cette macro examine chaque cellule et laisse tout jusqu’au premier espace dans la cellule sélectionnée, et déplace tout après l’espace dans la colonne de droite. Le seul « gottcha » avec cette macro est de s’assurer que vous n’a rien dans la colonne à droite des cellules que vous sélectionnez lorsque vous l’exécutez.
_Remarque: _
Si vous souhaitez savoir comment utiliser les macros décrites à ce sujet page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
`link: / 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 (2967) s’applique à Mic rosoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:
lien: / excelribbon-Pulling_Apart_Cells [Séparer les cellules]
.