Rechercher : dans
Par :

VBA erreur 1004

Dernière réponse le 9 jui 2008 à 13:41:45 séverine, le 18 aoû 2005 à 11:23:29 
 Signaler ce message aux modérateurs

Bonjour forum

j'ai un macro qui a été fait sur excel 5 et qui marché bien.mais maintenat quand je l'execute sur la nouvelle version de excel j'ai l'erreur 1004 (impossible de lire la propriété drawing objects de la classe dialogsheet)

est ce que vous avez une idée

merci d'avance

Meilleures réponses pour « VBA erreur 1004 » dans :
Gestion des erreurs VoirPar défaut, en Pascal, la gestion des erreurs est assurée par le compilateur. C’est pour cette raison que le programme s’arrête en affichant un message commençant par Runtime error suivi par le numéro de l’erreur … Alors si le programmeur désire...
Objet TextStream VoirObjet TextStream L'objet TextStream obtenu à l'aide d'une méthode de l'objet FileSystemObject (CreateTextStream ou OpenTextStream) ou via la méthode OpenAsTextStream de l'objet File. Il permet de lire ou écrire dans un fichier en mode texte, avec...

1

Lupin.Arsene, le 18 aoû 2005 à 19:58:18

Bonjour,

L'erreur 1004 est une erreur très standard qui stipule un
débordement de l'indice de l'objet. Il est très difficile de
trouver ce genre d'erreur sans voir le code.

J'ai eu aussi quelques déboire avec le passage de 95 à 97
et entre autre le nom des feuilles changeaient dans certaines
circonstances.

Si tu veux plus d'aide, transcrit ton code ici !

Lupin
~L'essentiel est invisible pour les yeux~
~On ne voit bien qu'avec le coeur~

Répondre à Lupin.Arsene

2

pti beignet, le 23 nov 2007 à 10:11:19

Bonjour,


alors voila j'ai un pti soucis mais je trouve pas la solution
j'ai beau chercher mais rien!
ah oui j'oubliais je suis novice en vba.
je veux selectionner la cellule b17 dans ma deuxieme feuille
donc j'ecris Worksheets(2).Cells(2, 17).Select
mais j'ai une erreur 1004 qui survient je ne comprend pas pourquoi car je pense que la syntaxe est bonne!
je me dis que c'est peut etre un probleme de version ou encore de references!!
Si quelqu'un pourrait m'aider ce serait sympas!

Merci d'avance

Répondre à pti beignet

4

ShaBoo, le 23 nov 2007 à 10:25:41

Bonjour,

B17 correspond à la 2eme colonne de la 17eme ligne.

L'utilisation de Cells se fait comme ceci : Cells(ligne, colonne)

=> Worksheets(2).Cells(17,2).Select

Est-ce que ta feuille 2 existe ???

Répondre à ShaBoo

3

le père, le 23 nov 2007 à 10:22:41

Bonjour,

Tu dois activer ta feuille avant de sélectionner une cellule
d'autre part, pour avoir B17 il faut (17,2) et non pas (2,17)

Worksheets(2).activate
Cells(17, 2).Select 

Répondre à le père

5

pti beignet, le 23 nov 2007 à 10:41:50

Bonjour,


Oui ma deuxieme feuille existe elle s'appelle resultats

Worksheets(2).activate
Cells(17, 2).Select
j'ai ecris ce code mais sur le Cells(17, 2).Select ça me met toujours l'erreur 1004 select method or class failed

Répondre à pti beignet

6

ShaBoo, le 23 nov 2007 à 10:49:53

Essaye ceci :

'Worksheets(2).activate
'Cells(17, 2).Select 

Worksheets(2).Cells(17, 2).Select

Répondre à ShaBoo

7

pti beignet, le 23 nov 2007 à 10:51:33

Bonjour,


non j'ai deja essayé ça toujours la meme erreur je comprend pas pkoi!

Répondre à pti beignet

8

ShaBoo, le 23 nov 2007 à 10:54:23

Bizarre !!!

Je fais le teste sur mon poste et cela fonctionne ...

Peux tu mettre ton fichier en ligne stp ...

Répondre à ShaBoo

9

pti beignet, le 23 nov 2007 à 11:10:46

Bonjour,


comment fais ton pour ajouter un fichier ici???

Répondre à pti beignet

10

ShaBoo, le 23 nov 2007 à 11:18:04

Tu vas ici ou bien ici ...

Répondre à ShaBoo

12

pti beignet, le 23 nov 2007 à 11:36:32

Bonjour,

je t'explique mon excel

en selectionnant un chiffre dans le table de couleur et tranche de ca:
la deuxiemme feuille doit filtrer la liste avec les criteres donnés

Répondre à pti beignet

11

pti beignet, le 23 nov 2007 à 11:21:25

Bonjour,

je viens de le deposer le lien est:
http://www.cijoint.fr/cij102725268832601.xls

Répondre à pti beignet

13

ShaBoo, le 23 nov 2007 à 11:40:38

Essaye ceci :

Private Sub Workbook_Open()

'Worksheets("resultats").Activate
'Cells(17, 2).Activate
Worksheets(2).Select
Worksheets(2).Cells(17, 2).Select
MsgBox "cellule selectionné"

End Sub

Répondre à ShaBoo

14

ShaBoo, le 23 nov 2007 à 11:53:36

Sub Filtre_2()
Dim i As Integer
MsgBox "entre dans la boucle "
  'Worksheets(2).Cells(2, 17).Select
'Worksheets("resultats").Range ("B17")
' Worksheets(2).Select
'Cells(2, 17).Select
'Cells(2, 17).Select
'Range("B17").Select
Workbook_Open
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).AutoFilter Field:=3, Criteria1:=head_left
Range(Selection, Selection.End(xlDown)).AutoFilter Field:=2, Criteria1:=head_up

End Sub




Que cherches tu à faire avec cette procedure ???

Répondre à ShaBoo

17

pti beignet, le 23 nov 2007 à 12:05:49

Bonjour,


en gros je veux selectionner ma plage de la liste à trier
je commence par selectionner la premiere cellule puis apres avec les fontions je determine le la fin de ma liste et le auto filter me permet de filtrer

Je sens que je ne suis pas clair!

Répondre à pti beignet

15

pti beignet, le 23 nov 2007 à 11:58:11

Bonjour,



ahhh merciiiiiiii!c'est bon pour ça !
mais du coup pkoi ça ne marchais pas?
je suis obligé de selectionner la feuille puis la feuille et la cellule?????

Répondre à pti beignet

16

ShaBoo, le 23 nov 2007 à 12:01:15

Bin ... tu es sur un evenement d'ouverture, et Excel doit initialiser pas mal de chose (du moins je pense ;p). Et là il devait pas retrouver ces petits ...

Répondre à ShaBoo

18

mamou, le 9 jui 2008 à 13:08:51

Bonjour pour le boulot j’ai paramétré un tableau de bord alimenté à partir d’une base des données, ça marchait mais depuis une semaine il m’affiche « run time error ‘1004 : méthode ’range of Object worksheet failed » . L’erreur se produit dans une page qui contient les indicateurs en chiffre pour alimenter les objets (histogramme, thermomètre ..) . je suis vraiment coince et en plus j’ai une réunion de reporting la semaine prochaine. J’ai besoin de votre aide SVP. Je peux transmettre le fichier si vous voulez.
Suite à ce message qu’on je veux déboguer, il l’ouvre cette fenêtre et il marque une ligne en jaune.

****************************
' Met à jour tous les indicateurs programmés
'**********************************
Private Sub CommandButton1_Click()
'appel de la fonction feu rouge
'Feu rouge alerte client
seuilbas = Feuil2.Range("FR1SB").Value 'lit la valeur du seuil bas
seuilhaut = Feuil2.Range("FR1SH").Value 'lit la valeur du seuil haut
valeur = Feuil2.Range("FR1VAL").Value 'lit la valeur (cette ligne est en jaune)
Call Module1.Feurouge(seuilbas, seuilhaut, valeur, 1)
'Feu rouge alerte budget
seuilbas = Feuil2.Range("FR2SB").Value 'lit la valeur du seuil bas
seuilhaut = Feuil2.Range("FR2SH").Value 'lit la valeur du seuil haut
valeur = Feuil2.Range("FR2VAL").Value 'lit la valeur
Call Module1.Feurouge(seuilbas, seuilhaut, valeur, 2)
'Feu rouge alerte processus
seuilbas = Feuil2.Range("FR3SB").Value 'lit la valeur du seuil bas
seuilhaut = Feuil2.Range("FR3SH").Value 'lit la valeur du seuil haut
valeur = Feuil2.Range("FR3VAL").Value 'lit la valeur
Call Module1.Feurouge(seuilbas, seuilhaut, valeur, 3)

' appel de la fonction jauge verticale
' L'ascenseur permet de faire varier la mesure à titre de démonstration
'Jauge urgence
seuilbas = Range("INDIC1SB").Value 'lit la valeur du seuil bas en H12
seuilhaut = Range("INDIC1SH").Value 'lit la valeur du seuil haut en H13
objectif = Range("INDIC1OBJ").Value 'lit la valeur de l'objectif
valeur = Range("INDIC1VAL").Value 'lit la valeur
Call Module2.jaugeV(seuilbas, seuilhaut, valeur, objectif, 1)
'Jauge normal
seuilbas = Range("INDIC2SB").Value 'lit la valeur du seuil bas en H12
seuilhaut = Range("INDIC2SH").Value 'lit la valeur du seuil haut en H13
objectif = Range("INDIC2OBJ").Value 'lit la valeur de l'objectif
valeur = Range("INDIC2VAL").Value 'lit la valeur
Call Module2.jaugeV(seuilbas, seuilhaut, valeur, objectif, 2)



Feuil1.Activate 'Appel de la page de signalisation
End Sub

Merci d’avance, je ne suis pas un grand connaisseur VB

Répondre à mamou

19

 eriiic, le 9 jui 2008 à 13:41:45

Bonjour,

Contrôle sur ta feuille 2 si tu as bien un nom FR1VAL.
Menu 'insertion / nom / definir ', il doit apparaitre dans la liste. S'il n'y est plus renomme la cellule concernée.

Tu peux déposer ton fichier sur cijoint.fr et coller ici le lien fourni.

eric

Répondre à eriiic