Erreur 1004 sur un clearcontents
Résolu
Flaneux
-
Flaneux -
Flaneux -
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 :
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,
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,
A voir également:
- Erreur 1004 vba
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- J'aime par erreur facebook notification - Forum Facebook
- Iptv erreur de lecture - Forum TV & Vidéo
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
1 réponse
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 :
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
Merci beaucoup pour l'aide,
Bonne fin d'après midi,