|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 90 ![]() |
Bonjour,
J'ai développé une macro qui tri une feuille en fonction de catégories spécifiées sur une autre feuille. Quand je l’exécute, au bout d'un moment je me retrouve avec le message d'erreur "Out of Range" et je comprend pas du tout pourquoi. Avez vous une idée ? Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() |
Sur qu'elle ligne ?
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 90 ![]() |
|
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Hervé SilveInscription : août 2010 Messages : 773 ![]() |
Bonjour,
Je pencherai pour une variable dont le type n'est pas adaptée du style : Code :
Oups, Je n'ai pas fait attention au code, désolé, les variables semblent bien déclarées. Je pense que le mieux est de faire un pas à pas, appuis successifs sur F8 et à un moment donné l'erreur surviendra sur la ligne incriminée. Hervé. |
||
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 90 ![]() |
Ouai j'y ai pensé, mais je parcoure 34 000 lignes, c'est super long :s
|
|
|
00
|
|
|
#6 |
![]() ![]() Didier GONARDFormateur Développeur Office - indépendant Inscription : février 2008 Messages : 2 353 ![]() |
Bonjour,
normalement, quand il y a message d'erreur, le code VBA s'arrête sur une ligne soulignée => celle qui provoque l'erreur. C'est cette ligne qu'on te demande Parfois, c'est plus complexe, si la ligne n'est pas significative, on te diras comment procéder. Si c'est une variable compteur, il faut inspecter sa valeur au moment du blocage. Genre I en integer ne pourrait monter à 34 000 par exemple s'il était concerné... cordialement, Didier
__________________
Didier Gonard Ps : Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite ! Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP N'oubliez pas de mettre : ..quand c'est le cas !
|
|
|
00
|
|
|
#7 | |
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 90 ![]() |
Citation:
Dois je activer une option pour cela ? Autrement, j'ai fais le teste en déclarant i et j en tant que Long, mais j'ai le même problème, c'est vraiment étrange ! |
|
|
|
00
|
|
|
#8 |
![]() ![]() Didier GONARDFormateur Développeur Office - indépendant Inscription : février 2008 Messages : 2 353 ![]() |
Bonjour,
Outils, Options, Général, Arrêt sur les erreurs non gérées (à cocher). Sinon, c'est plus complexe, mais à tous les coups tu sors du champ d'une variable, d'une plage ou de la feuille. Tu peux procéder par approximation, comme pour certaines recherches, tu limites ta procédure à 34000/ 2 = 17 000. ça plante ou non, selon tu recommence pour 17 000 /2 ou 17 000 + 17 000/2 pour circonscrire la zone d'erreur, ça peut se programmer d'ailleurs cordialement, Didier
__________________
Didier Gonard Ps : Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite ! Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP N'oubliez pas de mettre : ..quand c'est le cas !
|
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 90 ![]() |
Magnifique, grace à toi je sais ou le probléme se situe :
Code :
Sheets(category).Cells(cursor, 1).Insert Shift:=xlDown |
|
|
00
|
|
|
#10 | ||
|
Membre du Club
![]() Inscription : décembre 2005 Messages : 90 ![]() |
Problème résolu
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com