Cours VBA gratuit | Erreurs

Erreur 1004

Gratuit, sans inscription Niveau 2 / 3 | Intermédiaire Lecture 6 min V1.2 | 29/10/2026

C'est l'erreur VBA la plus fréquente, et la plus frustrante, car son message ne dit presque rien. « Erreur définie par l'application ou par l'objet » signifie simplement qu'Excel a refusé une action. Voici les causes les plus courantes, et comment les corriger.

Télécharger la fiche PDF gratuiteSans inscription, mise en page prête à imprimer

01Le message

En une phrase

Erreur d'exécution 1004 : Excel ne peut pas réaliser l'action demandée sur un objet (une plage, une feuille, un classeur). Le libellé exact varie selon la cause.

Cliquez sur Débogage : la ligne fautive est surlignée en jaune. Comparez-la aux causes ci-dessous.

02Les causes les plus fréquentes

Ligne en causePourquoiCorrection
Worksheets("Ventes").Range(Cells(1, 1), Cells(5, 2))les Cells désignent la feuille active, pas Ventesqualifier : ws.Cells(1, 1)
Worksheets("Ventes").Range("A1").Selecton ne sélectionne pas sur une feuille inactivene pas sélectionner, agir directement
.Formula = "=SOMME(A1:A5)"Formula attend l'anglais"=SUM(A1:A5)" ou .FormulaLocal
ws.Name = "Janvier"ce nom de feuille existe déjàvérifier ou choisir un autre nom
Cells(0, 1)la ligne 0 n'existe pasvérifier le calcul du numéro de ligne
Workbooks.Open "C:\...\fichier.xlsx"chemin ou nom de fichier introuvablevérifier avec Dir(chemin) <> ""
écriture dans une cellulela feuille est protégéews.Unprotect avant, ws.Protect après

03Exemple corrigé

La version qui plante, puis la version juste
' Plante si la feuille Ventes n'est pas active
Worksheets("Ventes").Range(Cells(2, 1), Cells(10, 4)).ClearContents

' Fonctionne quelle que soit la feuille active
Dim ws As Worksheet
Set ws = Worksheets("Ventes")
ws.Range(ws.Cells(2, 1), ws.Cells(10, 4)).ClearContents
💡 AstuceUn réflexe qui évite la plupart des 1004

Déclarez une variable feuille (Set ws = ...) en début de macro et préfixez toutes vos références avec ws. ou un bloc With. La macro ne dépend plus de ce qui est affiché à l'écran.

04Pièges à éviter

⚠️ PiègeCorriger au hasard

Ne relancez pas la macro en modifiant des lignes au hasard : lisez la ligne jaune, identifiez l'objet concerné (plage, feuille, classeur), puis vérifiez qu'il existe et qu'il est accessible.

⚠️ PiègeMasquer l'erreur

Un On Error Resume Next fait disparaître le message mais pas le problème. Corrigez la cause.

05Questions fréquentes

Que signifie l'erreur 1004 en VBA ?

Erreur d'exécution 1004 : Excel ne peut pas réaliser l'action demandée sur un objet (une plage, une feuille, un classeur). Le libellé exact varie selon la cause.

Quel est le piège le plus fréquent avec l'erreur 1004 ?

Corriger au hasard. Ne relancez pas la macro en modifiant des lignes au hasard : lisez la ligne jaune, identifiez l'objet concerné (plage, feuille, classeur), puis vérifiez qu'il existe et qu'il est accessible.

La fiche « Erreur 1004 » est-elle gratuite ?

Oui. La fiche est en accès libre et gratuit, sans inscription : vous pouvez la lire en ligne et télécharger sa version PDF. Elle fait partie du cours VBA gratuit de mesetudesdecas.fr, qui compte 21 fiches.

Pour les formateurs

Passez de la fiche à la mise en situation

Les études de cas mesetudesdecas.fr placent vos apprenants face à un vrai besoin d'entreprise. L'étude de cas XL-05 fait automatiser un devis commercial de bout en bout, macros comprises, avec énoncé, corrigé et pas-à-pas du formateur.

Découvrir l'étude de cas XL-05
Voir aussi

Toutes les fiches du cours VBA gratuit

Voir aussi le cours gratuit sur les formules Excel

Fiche V1.2 | Dernière mise à jour : 29/10/2026 | Clément Delobel, formateur Excel et VBA