Erreur 1004 sur un clearcontents

Résolu/Fermé
Flaneux - Modifié le 11 déc. 2019 à 16:30
 Flaneux - 11 déc. 2019 à 16:54
Bonjour,

Je souhaite tout simplement pour un projet supprimer un plage variable entre chaque lancement de macro.
Je recherche ainsi la dernière ligne et réalise un clearcontent sur la plage choisi de la ligne 2 à la dernière ligne trouvée. Or si cela marche pour une de mes pages cela ne fonctionnement pas pour la deuxième qui est exactement la même. Voici le code ci dessous :
Dim dern As Integer
Dim dern1 As Integer

dern = Sheets("OF à lancer").Range("b" & Rows.Count).End(xlUp).Row
Sheets("OF à lancer").Range(Cells(2, 1), Cells(dern, 13)).ClearContents
dern1 = Sheets("OF précédent").Range("b" & Rows.Count).End(xlUp).Row
Sheets("OF précédent").Range(Cells(2, 1), Cells(dern1, 13)).ClearContents


La dernière ligne m'affiche une erreur 1004 : erreur défini par l'application ou par l'objet.
Avez vous une idée de pourquoi cela ne fonctionne pas ?

MErci d'avance pour votre aide,

1 réponse

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
Modifié le 11 déc. 2019 à 16:55
Bonjour Flanneux, bonjour le forum,

Il te faut spécifier le nom de l'onglet systématiquement. Même pour .Cells... Avec une variable c'est plus lisible :
Dim OAL As Worksheet
Dim OP As Worksheet
Dim dern As Integer
Dim dern1 As Integer

Set OAL = Worksheets("OF à lancer")
Set AP = Worksheets("OF précédent")

dern = OAL.Range("b" & Rows.Count).End(xlUp).Row
OAL.Range(OAL.Cells(2, 1), OAL.Cells(dern, 13)).ClearContents
dern1 = OP.Range("b" & Rows.Count).End(xlUp).Row
OP.Range(OP.Cells(2, 1), OP.Cells(dern1, 13)).ClearContents


0
Effectivement c'est un oubli bête mais incapable de voir l'erreur seul ahah !
Merci beaucoup pour l'aide,

Bonne fin d'après midi,
0