Bonjour,
columns renvoie une collection de colonnes pas une plage de cellules.
une proposition de correction
Sub aargh()
Dim i, j As Integer
Dim macell
i = 2
For j = 1 To 12
Columns(i).Insert
For Each macell In Columns(i).Cells
macell.Value = Left(macell.Offset(0, 1).Value, 5)
Next macell
i = i + 4
Next j
End Sub
cependant le code ci-dessus passe en revue toutes les cellules de la colonne
le code ci-dessous se limite aux cellules utilisées de chaque colonne
Sub aargh()
Dim i As Integer, j As Integer, dl As Long
Dim macell
i = 2
For j = 1 To 12
Columns(i).Insert
dl = Cells(Rows.Count, i + 1).End(xlUp).Row
For Each macell In Cells(1, i).Resize(dl)
macell.Value = Left(macell.Offset(0, 1).Value, 5)
Next macell
i = i + 4
Next j
End Sub