Bonjour le forum,
j'ai besoin de "splitter" le contenu de cellules sur les lignes suivantes selon un compter, puis "merger" les cellules identiques. Enfin, je souhaite également pouvoir revenir à l'état initial.
J'ai créé 2 macros qui fonctionnent mais comme je suis débutant et que je désire apprendre si quelqu'un peut jeter un coup d'oeil pour améliorer ces codes loin d'être optimisés (notamment l'utilisation des tableaux multiples).
Bonsoir Alexga,
Sans aller plus profond dans la compréhension de votre code, une optimisation possible est :
Code:
Dim tbl, i
For i = 4 To 7
tbl = Split(.Cells(R, i).Text, Chr(10))
.Cells(R, i).Resize(.Cells(R, 3).Value).Value = Application.Transpose(tbl)
Next i
et
Code:
For Each cell In .Range("C2:C" & .Range("A65535").End(xlUp).Row)
If cell.Value > 1 Then
Dim temp, i
For i = 1 To 4
tbl = cell.Offset(0, i).Resize(cell.Value, 1)
temp = Application.Transpose(tbl)
Next i
End If
Next cell
( J'ai supposé que les Join(temp1, Chr(10)) étaient avec les indices de 1 à 4 et non 1,2,2,2 puisque vos temp2,3,4 ne servent pas ensuite )