VBA - Code qui bloque - Erreur d'exécution 1004

Bonjour,

Dans le petit fichier démo ci-joint, mon code bloque sur la ligne :

Sheets("Feuil2").Range(Cells(2, i), Cells(14, i)).ClearContents

Savez-vous quelle est l'erreur ?

Si oui, est-il possible d'utiliser l'instruction modifiée ainsi (Rows.Count) :

Sheets("Feuil2").Range(Cells(2, i), Cells(Rows.Count, i)).ClearContents

Mon fichier de base est bien plus compliqué et je devrais absolument passer par une telle instruction.

Si j'utilise l'instruction ci-dessous, ça fonctionne :

Sheets("Feuil2").Range("D2:E14").ClearContents

Bonjour,

Ceci:

Sub Effacer()
    Dim i As Byte, DerLig As Byte
    Dim f2 As Worksheet

    Set f2 = Sheets("Feuil2")
    DerLig = f2.Range("D" & Rows.Count).End(xlUp).Row
    For i = 4 To 7
        Range(f2.Cells(2, i), f2.Cells(DerLig, i)).ClearContents
    Next i
    Set f2 = Nothing
End Sub

CDlt

Hello Yvouilles,

Il faut que tu fasses un .Select de ta plage et ensuite

Sélection.ClearContents, moi cest comme ça que je résous ce souci à chaque fois.

Ou alors c’est avec les cells qu’il a un problème.

Tu peux utiliser ça pour convertir les colonnes en lettre afin d’utiliser une instruction range.

lettre = Split(cells(1,i).Offset(0, Selection.Columns.Count - 1).Address, "$")(1)

Sheets("Feuil2").Range(lettre & "2:" & lettre & Rows.Count).ClearContents

N’hésite pas

@+

Wow, merci à vous deux pour vos supers propositions.

J'ai ainsi pu constater mon erreur et je vais utiliser les instructions ci-dessous :

        With Sheets("Feuil2")
            .Range(.Cells(2, i), .Cells(Rows.Count, i)).ClearContents
        End With

Il suffit parfois d'un point de plus

Très bonne fin de journée à vous.

Rechercher des sujets similaires à "vba code qui bloque erreur execution 1004"