Diviser les informations en lignes (Microsoft Excel)
James a des données dans une feuille de calcul qui est contenue dans une série de lignes. L’une des colonnes des données comprend des cellules contenant plusieurs lignes par cellule. (Les données de la cellule ont été séparées en lignes en appuyant sur Alt + Entrée entre les éléments.) James aimerait diviser ces données en plusieurs lignes. Par exemple, s’il y avait trois lignes de données dans une seule cellule de la ligne, les données de cette cellule doivent être divisées en trois lignes.
Excel fournit un moyen pratique de diviser les données en colonnes séparées à l’aide de l’outil Texte en colonnes. Cela peut être utilisé pour diviser les données en fonction de la présence du caractère ASCII 10, ce qu’Excel insère lorsque vous appuyez sur Alt + Entrée. Le problème est que même si cela divise avec succès les données en colonnes séparées, il ne les obtient pas en lignes séparées, comme James l’a demandé.
Cela signifie que la solution à ce problème doit inclure l’utilisation d’une macro. Une approche est illustrée dans le code suivant. Dans cet exemple, la macro suppose que vous souhaitez «développer» tout dans la feuille de calcul et que les données de la feuille de calcul commencent à la ligne 1.
Sub CellSplitter() Dim Temp As Variant Dim CText As String Dim J As Integer Dim K As Integer Dim L As Integer Dim iColumn As Integer Dim lNumCols As Long Dim lNumRows As Long iColumn = 4 Set wksSource = ActiveSheet Set wksNew = Worksheets.Add iTargetRow = 0 With wksSource lNumCols = Cells(1,Columns.Count).End(xlToLeft).Column lNumRows = Cells(Rows.Count,1).End(xlUp).Row For J = 1 To lNumRows CText = .Cells(J, iColumn).Value Temp = Split(CText, Chr(10)) For K = 0 To UBound(Temp) iTargetRow = iTargetRow + 1 For L = 1 to lNumCols If L <> iColumn Then wksNew.Cells(iTargetRow, L) _ = .Cells(J, L) Else wksNew.Cells(iTargetRow, L) _ = Temp(K) End If Next L Next K Next J End With End Sub
Notez que pour exécuter la macro, vous devrez spécifier, à l’aide de la variable iColumn, la colonne contenant les cellules à séparer.
Comme écrit ici, la macro sépare les informations dans la quatrième colonne. En outre, les versions séparées des cellules sont stockées dans une nouvelle feuille de calcul, de sorte que la feuille de calcul d’origine n’est pas du tout affectée.
_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 (9396) 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-Splitting_Information_into_Rows [Diviser les informations en lignes]
.