Erreur d'exécution 1004
Bonjour à tous,
Je suis débutant en macro, et j'ai crée un macro pour le boulot. Le but étant de supprimer les données de plusieurs cellules d'un onglet (normalement rien de très compliqué). Cependant, elle affiche une erreur d’exécution 1004 "erreur définie par l'application ou par l'objet".
Je n'utilise pas de variable, je n'arrive pas à comprendre mon erreur, même avec l'aide débogage pas à pas détaillé.
L'erreur se situe sur le passage Range("H223:H224").ClearContents à Range("H227:H229").ClearContents
Peut-il s'agir du nombre de lignes trop important ?
Je pose le code ci-dessous.
Merci pour votre aide
Sub CleanCFS()
'Clean l'onglet CFS'
Dim sPass As String
sPass = InputBox("Veuillez saisir le mot de passe")
If sPass = "EDF18" Then
Sheets("3.CFS").Activate
'CLEAN R2 2018'
Range("H9").ClearContents
Range("H17").ClearContents
Range("H26:H27").ClearContents
Range("H36").ClearContents
Range("H47").ClearContents
Range("H50").ClearContents
Range("H58").ClearContents
Range("H63").ClearContents
Range("H67").ClearContents
Range("H75").ClearContents
Range("H82").ClearContents
Range("H85:H89").ClearContents
Range("H98").ClearContents
Range("H102").ClearContents
Range("H111").ClearContents
Range("H119").ClearContents
Range("H123").ClearContents
Range("H129:H131").ClearContents
Range("H134").ClearContents
Range("H137").ClearContents
Range("H143").ClearContents
Range("H147").ClearContents
Range("H150:H152").ClearContents
Range("H159:H160").ClearContents
Range("H163:H168").ClearContents
Range("H178:H180").ClearContents
Range("H183:H189").ClearContents
Range("H209").ClearContents
Range("H212:H214").ClearContents
Range("H219:H220").ClearContents
Range("H223:H224").ClearContents
Range("H227:H229").ClearContents
Range("H235").ClearContents
Range("H246").ClearContents
Range("H238:240").ClearContents
Range("H249:251").ClearContents
Range("H263").ClearContents
Range("H266:H268").ClearContents
Range("H275").ClearContents
Range("H280").ClearContents
Range("H282").ClearContents
Range("H285").ClearContents
Range("H289").ClearContents
Range("H296:H297").ClearContents
Range("H301").ClearContents
Range("H309").ClearContents
Range("H313").ClearContents
Range("H326").ClearContents
Range("H348").ClearContents
Range("H352").ClearContents
Range("H357").ClearContents
Range("H366").ClearContents
Range("H371:H373").ClearContents
Range("H424:H425").ClearContents
Range("H432").ClearContents
Range("H452").ClearContents
Range("H488:H490").ClearContents
Range("H500").ClearContents
Range("H504").ClearContents
Range("H506").ClearContents
Range("H508").ClearContents
Range("H516:H517").ClearContents
Range("H522").ClearContents
Range("H530").ClearContents
Range("H535").ClearContents
Range("H538").ClearContents
Range("H541").ClearContents
Range("H545").ClearContents
Range("H566:H568").ClearContents
Range("H577:H580").ClearContents
Range("H607").ClearContents
Range("H623:H624").ClearContents
Range("H644").ClearContents
Range("H662").ClearContents
Range("H673:H677").ClearContents
Range("H699").ClearContents
Range("H717").ClearContents
Bonjour berna15,
N'y aurait-il pas une erreur ici ?
Range("H238:240").ClearContents
Range("H249:251").ClearContentsNe serait-ce pas plutôt
Range("H238:H240").ClearContents
Range("H249:H251").ClearContentsCordialement,
Bonjour,
Dans ces lignes, il manque les lettres :
Range("H238:240").ClearContents
Range("H249:251").ClearContentscomme ça :
Range("H238:H240").ClearContents
Range("H249:H251").ClearContentsEffectivement c'est une erreur de débutant...
Merci pour votre réactivité
Bonne journée
Bonjour berna15, le forum,
je te propose d'écrire ainsi toute la dernière partie de ton code VBA :
'CLEAN R2 2018'
Dim Plg$
Plg = "H9,H17, H26:H27, H36,H47,H50,H58,H63,H67,H75,H82, H85:H89, H98,H102,H111,H119,H123, H129:H131," _
& "H134,H137,H143,H147, H150:H152, H159:H160, H163:H168, H178:H180, H183:H189, H209, H212:H214," _
& "H219:H220, H223:H224, H227:H229, H235,H246, H238:H240, H249:H251, H263, H266:H268, H275,H280,H282," _
& "H285,H289, H296:H297, H301,H309,H313,H326,H348,H352,H357,H366, H371:H373, H424:H425, H432,H452," _
& "H488:H490, H500,H504,H506,H508, H516:H517, H522,H530,H535,H538,H541,H545, H566:H568, H577:H580," _
& "H607, H623:H624, H644,H662, H673:H677, H699,H717"
Range(Plg).ClearContentsmerci de me dire si ça te convient.
sauf si tu as autre chose à demander, je te laisse passer le sujet en résolu : tu dois cliquer sur le bouton qui est près du bouton (dans le coin haut droit d'un message) ; toi seul peut le faire, car c'est toi qui a créé ce sujet ; tu sauras que tu as réussi quand tu verras un petit rond vert avec une coche, comme ceci :
dhany
Bonjour à toutes et tous,
désolé xorsankukai, j'ai répondu après que tu ai donné la bonne réponse
décidément, il me faut vraiment penser à cette touche F5 avant de épondre
Bonjour Theze,
désolé xorsankukai, j'ai répondu après que tu ai donné la bonne réponse
Aucun souci,
L'essentiel, c'est que notre camarade ai résolu son problème,
A dhany, j'aime beaucoup ta façon d'alléger le code ,
A bientot sur le forum,
Cordialement,