Menu

Erreur d'éxecution 1004 [Fermé]

- - Dernière réponse :  moi03 - 10 févr. 2015 à 10:54
Je suis en train de créer un fichier excel avec une importation d'un tableau d'un site internet et quelques fois j'ai cette erreur qui apparait:

"Erreur d'éxécution 1004
La méthode select de la classe Range a échoué"



Voila mon code aui me sert à supprimer certain élément de ce tableau lors de l'importation:

Private Sub Worksheet_Change(ByVal Target As Range)

Application.ScreenUpdating = False
Cells.Select (l'erreur se trouve ici)
Selection.Replace What:=" ~*", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False

Selection.Replace What:="Results", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False

Selection.Replace What:="Lay of the Day", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Range("A1").Select
Application.ScreenUpdating = True

End Sub



Est ce que quelqu'un aurait une petite idée pour supprimer cette erreur?

Merci pour votre aide
Afficher la suite 

8 réponses

Meilleure réponse
10
Merci
Bonjour,

J'avais à peu prés la même erreur et je viens de la corriger.
Il suffit d'activer la page ou tes cellules sont sélectionnées avec un ".Activate" sur un objet de type Worksheet".
(en l'occurrence Worksheets(1).Activate au dessus du select.)

J'espère que ca aidera des personnes.

Dire « Merci » 10

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 46458 internautes nous ont dit merci ce mois-ci

pijaku
Messages postés
12245
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
30 novembre 2018
2065 -
Salut Ska,
Un peu vieux le sujet, mais éternellement d'actualité...

Le mieux, c'est de ne pas sélectionner du tout!!!!!!
Remplace :
WorkSheets(1).Activate
Range("A1").Select
Selection.Copy
Par :
With WorkSheets(1)
    .Range("A1").Copy
End With

!!!! le point devant "range" est dans ce cas Hyper primordial !!!!!!

Les .Select ralentissent l'exécution du code. En effect, d'abord tu sélectionnes et ensuite tu donnes l'action à réaliser. Dans le 2nd cas, avec With et End With, tu fais l'action tout de suite, sans sélection préalable...
Bonjour, j'ai le meme probleme, mais quand j'essaie de telecharger une appli ou un jeu sur aap store, comment reparer ca?
Merci , cela m'as beaucoup aider !!! je me battais avec mes macros et mes boutons depuis des heures


Cordialement
bonjour ska,

stp pourrais-tu être plus précis "Il suffit d'activer la page ou tes cellules sont sélectionnées avec un ".Activate" sur un objet de type Worksheet". mais comment
Messages postés
1933
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
22 juin 2019
746
0
Merci
Bonjour,

rassure moi :
tu as bien mis le worksheets(1).cells.replace sur la ligne où tu as ton replace, ie avec les options du replace derrière!

autrement dit, tu n'as pas une ligne avec seulement worksheets(1).cells.replace ?

worksheets(1).cells remplace le selection du replace.

A+
0
Merci
je suis nul en informatique mais quesque ça veut dire Worksheets(1).Cells.Replace ??? comment on fait pour modifier ect ?????
pijaku
Messages postés
12245
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
30 novembre 2018
2065 -
Bonjour,
La fonction Replace sert à remplacer, dans une chaine, une sous chaine par une autre.
Voici le lien pour la syntaxe : http://msdn.microsoft.com/fr-fr/library/bt3szac5(v=vs.80).aspx
Les paramètres obligatoires sont Expression (la chaîne dans laquelle on souhaite remplacer quelque chose), Find (ce que l'on souhaite remplacer), Replacement (ce par quoi on va remplacer).
Exemple :
Dans la phrase "Bonjour, comment allez vous", je souhaite remplacer les "ou" par des "ai", je fais :
Dim StrExpression As String  
StrExpression = Replace("Bonjour, comment allez vous", "ou", "ai") 
MsgBox StrExpression

J'obtiens donc : "Bonjair, comment allez vais".

La syntaxe : Worksheets(1).Cells.Replace va remplacer (comme Ctrl+H ou Editions/Remplacer) dans toutes les cellules de la feuille 1...
OK?
-1
Merci
Bonsoir,

En fait j'ai cette erreur apparait quand je suis sur une autre feuille que ma feuille1 lors de l'actualisation de tableau importé

Est ce que quelqu'un aurait une petite idée??

Merci pour votre aide
-1
Merci
Si je remplace "Cells.Select " par "Worksheets(1).Cells.Replace ", j'ai une nouvelle erreur qui apparait:

"erreur 450 "

et ca me selectionne Worksheets(1).Cells.Replace

Merci pour ton aide
-1
Merci
salut a tous

j'ai un super truc qui m'agace, message erreur 1004 "la methode select de la classe range a echoué"

la macro ne demande rien d'autre que :
"range("A2").select

quand je lance j'ai le message d'erreur ...mais le plus barban c'est que cela fonctionne avec d'autre classeur ??????

c'ets donc pas un probleme d'installation

qqu a -t-il une solution
Messages postés
1933
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
22 juin 2019
746
-2
Merci
Bonsoir,

essaye :
Worksheets(1).Cells.Replace .......
directement sans passer par des select

A+
-4
Merci
Bonjour moi aussi j'ai un soucis de même nature cependant ce n'est pas moi qui ai créer la macro est-ce que quelqu'un pourrait m'aider?

Qu'est-ce cette macro veut dire?

La feuille se présente ainsi :

' Actualiser Macro
' Macro enregistrée le 04/11/04 par S033271
'

'
ActiveWindow.ScrollRow = 2
Range("A3:X3").Select
** Selection.AutoFill Destination:=Range("etp_calculés_01_12"), Type:=xlFillDefault
Range("etp_calculés_01_12").Select
ActiveWindow.SmallScroll ToRight:=47
ActiveWindow.ScrollRow = 2
Range("CM3:CN3").Select
Selection.AutoFill Destination:=Range("etp_mois_cumulés"), Type:=xlFillDefault
Range("etp_mois_cumulés").Select
ActiveWindow.ScrollRow = 2
Range("Z3").Select

Call Maj_TCD
Sheets("Détail affectations").Activate
Range("Z3").Select

End Sub

Message d'erreur
Erreur d'execution '1004'

La méthode autofill de la classe Range a échoué