|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 57 ![]() |
Bonjour à tous,
Débutant en VBA, j'aurai besoin de vos lumières. Je développe des petites automatisations sur un fichier Excel pour un gain de temps mais je rencontre un petit problème. Tout d'abord le code avec les fontions utilisées : Code :
Code :
Loop While StrComp(Adresse1, Trouve.Address) <> 0 Je pense que l'erreur vient du fait que dans ma procédure DecocheOldVersion, je parcours une autre plage, et donc de l'imbrication de "with" (entre guillemets). J'ai vu quelques sujets sur ce problème, essayé de mettre des with end with mais sans réussite... Merci de votre aide. et comme je suis débutant en VBA, si vous avez quelques remarques sur mon code n'hésitez pas. |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Le problème à mon avis, c'est qu'au bout d'un moment, Trouve devient Nothing car il ne trouve plus rien, du coup, tu ne peux plus lui demander son Address.
C'est bien sûr une première remarque sans avoir essayé de comprendre ton code. Tu vois quoi dans Trouve dans le débuggeur au moment de l'erreur ?
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 57 ![]() |
Oui dans mon Trouve j'ai Nothing au moment du FindNext.
Mais justement ca ne devrait pas être le cas car il y a bien d'autres cellules à parcourir dans la plage. Donc soit j'alimente mal ma plage soit il se perd dans les with soit je persiste à chercher l'erreur à l'endroit qu'elle n'est pas ... |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Je ne vois pas pourquoi tu parles de "with" depuis le début vu qu'il n'y en a pas dans ton code. Et ta plage à l'air bien alimentée.
J'essaierais de savoir la dernière cellule "x" trouvée avant que ça plante (En pas à pas ou avec des Debug.Print Adresse1 s'il y en a beaucoup), pour essayer une recherche manuelle ensuite et voir ce qui se passe. Une idée toute bête, essaie de remplacer par S'il n'y avait qu'un "x", ça pourrait être le souci
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 57 ![]() |
J'ai testé en enlevant le (Trouve), mais toujours le même message d'erreur.
Dans un Test, j'ai mis 4 "x" (Ligne 1444-1445-1446-1447) Il fait bien les changements de valeurs pour la ligne 1444 mais plante avant d'atteindre la ligne suivante. |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Et ce ne serait pas par hasard parce que DecocheOldVersion enlèves les "x" ? Du coup, il n'y en a plus au FindNext suivant
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 57 ![]() |
Non les "x" sont toujours présents pour cette colonne.
Les "x" que je supprime ne sont pas sur la même colonne. |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Sebastien LIngénieur Financier Inscription : mars 2010 Messages : 880 ![]() |
Je suis bête, tu fais un Find dans DecocheOldVersion, du coup, le FindNext que tu fais ensuite dans MonteeExport_Click va chercher nomFichier au lieu de "x" et ne le trouve pas...
Il vaudrait mieux refaire un Find en partant de Trouve
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell |
|
|
00
|
|
|
#9 |
|
Futur Membre du Club
![]() Inscription : mai 2006 Messages : 57 ![]() |
Nickel !!
![]() Merci beaucoup ! très gentil de m'avoir repondu et merci d'avoir trouvé la solution. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com