Eclater contenu d'une cellule en plusieurs lignes

Bonjour à tous,

Dans le fichier joint, je cherche à éclater les groupes de valeurs de la colonne H qui sont séparées par des point-virgule.

Le but est que pour chaque valeur une nouvelle ligne soit créée en reprenant toutes les autres valeurs des colonnes à l'identique.

En page 1, je montre l'extrait de fichier et en page 2 ce que je souhaite obtenir.

Merci pour votre aide

18eclater-ip.xlsx (10.93 Ko)

Salut zebu14,

Un double-clic, quelle que soit la feuille, démarre la macro.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Dim tSplit
'
Cancel = True
On Error Resume Next
Application.ScreenUpdating = False
'
For x = Range("H" & Rows.Count).End(xlUp).Row To 2 Step -1
    If InStr(Range("H" & x).Value, ";") > 0 Then
        tSplit = Split(Range("H" & x).Value, ";")
        Rows(x + 1 & ":" & x + UBound(tSplit)).Insert shift:=xlDown
        For y = 0 To UBound(tSplit)
            Range("A" & x + y & ":N" & x + y).Value = Range("A" & x & ":N" & x).Value
        Next
        Range("H" & x).Resize(UBound(tSplit) + 1, 1).Value = WorksheetFunction.Transpose(tSplit)
    End If
Next
'
Application.ScreenUpdating = True
On Error GoTo 0
'
End Sub

A+

19zebu14.xlsm (17.30 Ko)

Un grand merci curulis57 !

C'est parfait.

Je suis admiratif des compétences VBA des utilisateurs de ce forum.... vraiment

Rechercher des sujets similaires à "eclater contenu lignes"