Pb fonction Do Loop While dans VBA Excel
Fermé
Panov
Messages postés
4
Date d'inscription
jeudi 11 février 2010
Statut
Membre
Dernière intervention
26 mars 2010
-
26 mars 2010 à 09:23
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 - 26 mars 2010 à 10:34
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 - 26 mars 2010 à 10:34
A voir également:
- Pb fonction Do Loop While dans VBA Excel
- Fonction si et excel - Guide
- Liste déroulante excel - Guide
- Fonction moyenne excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
1 réponse
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
Modifié par tompols le 26/03/2010 à 10:35
Modifié par tompols le 26/03/2010 à 10:35
bonjour,
en effet cela ne fonctionne pas, dans l'exemple il suffirait de supprimer le "And c.Address <> firstAddress " pour que cela fonctionne.
Le problème ici est que 2 choses sont mélangées : la recherche et le remplacement :
- qd on utilise Find, il boucle effectivement sur les valeurs trouvées mais dans ce cas précis les valeurs sont remplacées dès qu'elles sont trouvées ça ne peut donc pas "boucler" car les valeurs ont été remplacées.
Conclusion : si tu remplaces les valeurs, le test de sortie est c is nothing car tu sors de ta boucle qd il n'y a plus aucune valeur à remplacer, si c'est une simple recherche le test de sortie est c.address <> firstaddress afin de ne pas boucler à l'infini; on ne peut mélanger les 2 tests (car si c is nothing alors c.address ne peut fonctionner)
En espérant avoir été clair....
On entend par une belle solution, la solution simple et facile d'un problème difficile et compliqué
en effet cela ne fonctionne pas, dans l'exemple il suffirait de supprimer le "And c.Address <> firstAddress " pour que cela fonctionne.
Le problème ici est que 2 choses sont mélangées : la recherche et le remplacement :
- qd on utilise Find, il boucle effectivement sur les valeurs trouvées mais dans ce cas précis les valeurs sont remplacées dès qu'elles sont trouvées ça ne peut donc pas "boucler" car les valeurs ont été remplacées.
Conclusion : si tu remplaces les valeurs, le test de sortie est c is nothing car tu sors de ta boucle qd il n'y a plus aucune valeur à remplacer, si c'est une simple recherche le test de sortie est c.address <> firstaddress afin de ne pas boucler à l'infini; on ne peut mélanger les 2 tests (car si c is nothing alors c.address ne peut fonctionner)
En espérant avoir été clair....
On entend par une belle solution, la solution simple et facile d'un problème difficile et compliqué