erreur 1004 sur Range

kerchak

XLDnaute Nouveau
Bonjour,

Je viens vous demander votre aide sur une macro que j'ai faite mais que je n'arrive pas à deboguer.

Lors du lancement de la macro :

For Each c In Range('A1:A5')

i = 1
Meslignes = ''
MonCritere = c.Value
page_active.Select

NombreLignes = 40

While i < NombreLignes + 1
If Cells(38 + i, 2) = MonCritere Then
Meslignes = Meslignes & 38 + i & ':' & 38 + i & ','
End If
i = i + 1
Wend

Meslignes2 = Left(Meslignes, Len(Meslignes) - 1)

page_active.Select

Range(Meslignes2).Copy

VBA me sort une erreur 1004 disant
' La méthode Range de l'objet global a echoué'

J'ai fait tout ce que je pouvais mais rine n'y fait.

Merci d'avance de votre aide
 

kerchak

XLDnaute Nouveau
Le probleme ( d'apres le debuggeur ) vient des lignes

Meslignes2 = Left(Meslignes, Len(Meslignes) - 1)

page_active.Select

Range(Meslignes2).Copy

En fait la boucle qu'il y avait avant sert à récuperer le numéro des lignes interressantes puis je voudrais les copier dans une autre feuille
 

G.David

XLDnaute Impliqué
Execute ta macro en mode pas à pas et dans le code regardes quelle est la valeur de mesligne2 ou de meslignes si elle corresponds bien a ce que peut comrendre VBA
par contre pour de la copie de zone discontinue j'ignore si c'est possible il faudra peut etre mieux engager un pas a pas
a ce propos tu pourrais peut etre regarder du cote de FIND
G.David
regardes la macro de recherche de ce prog
Lien supprimé

Message édité par: G.David, à: 14/06/2005 15:18
 
K

kerchak

Guest
Bonjour,

J'ai effectivement repris ma macro en mode pas à pas et la j'ai eu une sacré surprise.
En fait, lorsque je met un point d'arret sur la ligne

longueur = Len(Meslignes) - 1
Meslignes2 = Left(Meslignes, longueur)

La macro s'execute correctement par contre des que je l'enleve elle plante en me donnant l'erreur 1004...

J'ai ajouter un debug print sur cette ligne et il me renvoie ' faux ' lorsqu'il l'execute.

J'espere que ces quelques infos supplémentaire vont vous aiguiller parceque malgré de nombreuse recherche via le net et l'aide, je n'ai rien trouver.

Merci d'avance
 
K

kerchak

Guest
Bonjour a tous,

J'utilise Excel 2000.

La blague supplémentaire c'est que tout le monde utilise excel 2000 mais que selon le PC ma macro bug ou pas...

C'est à n'y rien comprendre...

Je crois que ca va etre difficile de mettre le fichier en ligne etant donné qu'il fait plus vde 5 Mo.

Merci d'avance si vous avez des idées pour me débloquer parceque je commence à devenir fou lol...
 

IEIAZEL

XLDnaute Nouveau
Alors c'est peut être une réponse trés bête ..que je vais faire mais bon ... On ne sait jamais !!!!

Mais j'ai eu cette erreur la dernière fois...
Le débuggeur n'indiquait bien la ligne fautive .....mais en vérifiant, mon code était bon...

Damned... c'était tout simplement : ....
...
... Roulement de tambour
...
...
La protection du document ...

Et oui en protégant ma feuille ... la macro plantait sur la définition des colonnes pour la fonction Hidden... et générer une erreur 1004 sur hidden

C'est peut être une piste pour toi ...

Bon courage !!!
BIZZZ a tous
 

G.David

XLDnaute Impliqué
kerchak écrit:
Bonjour a tous,



Je crois que ca va etre difficile de mettre le fichier en ligne etant donné qu'il fait plus vde 5 Mo.

ton fichier a plus de 5Mo c'est parcequ'il à beaucouo de donné ou parce que tu l'as beaucoup bidouillé dans le dernier cas copie les procedures dans un autres classeur puis les données il est possible que ton classeur retrouve sa taille de jeune fille et par la meme qu'il retrouve un comportement normal

J'ai eu un complément qui plantait des classeurs le code passait dans le complément ???? j'ai toujours pas compris pourquoi j'ai descendu la macro complementaire qui merdait
Cordialemen
G.David
 
M

michel_m

Guest
Bonjour à tous,

Range(meslignes2) doit être de la forme range(“B6”) par exemple

Or meslignes2 va s’écrire 39:39,40:40 etc… suivant valeure de i et est string

Donc tu auras range(39:39,40:40) d’où erreur 1004

mais peut-être que je n'ai rien pîgé, c'est vendredi

A+

Michel
 

Discussions similaires