Pb pour copier les n premiers caractères d'une cellule

Bonjour à tous,

Je rencontre un problème lorsque je tente de copier les 5 premiers caractères de mes cellules. Je sollicite votre aide pour comprendre pourquoi cela ne fonctionne pas.

Merci d'avance pour vos réponses.

Voici mon code :

Dim i, j As Integer

Dim macell

Sheets("test").Activate

i = 2

For j = 1 To 12

Columns(i).Insert

For Each macell In Columns(i)

macell.Value = Left(macell.Offset(0, 1).Value, 5)

Next macell

i = i + 4

Next j

Bonjour,

une manière

P.

Option Explicit
Sub Cinq()
Dim i&, j&
Sheets("feuil1").Activate
For j = 1 To 12
   Cells(j, 2) = Left(Cells(j, 1), 5)
Next j
End Sub

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

Ah ok je vois mieux ou je me méprenais, merci à vous deux pour vos réponses claires et rapides.

Je vais tester ça

Rechercher des sujets similaires à "copier premiers caracteres"