Je viens de prendre le temps de faire quelques
tests pour constater que mon hypothèse sur le
comportement de findAll est fausse.
J'ai essayé avec plusieurs dispositions de
cellules, contigües ou non, et en mélangeant de
différentes façons les cellule contenant
exactement le texte cherché ou un texte plus long
que le texte cherché: tout semble bien se passer
chez moi, les recherches donnent le même résultat
dans les deux cas, je ne reproduis pas votre erreur.
Par contre, je répète que des cellules contigües
répondant toutes à la recherche et formant une
zone rectangulaire ne comptent que pour 1 pour Count.
Attention! je me suis fait avoir au début parce
que je n'avais pas fini la saisie d'une des
cellules (oubli de taper Entrée) et donc bien que
la cellule semblait contenir le texte cherché elle
n'était pas trouvée.
Le 06/01/2011 21:21, Pascal Chantriaux a écrit :
Les textes toto et toto2 sont-ils dans deux
cellules contigües?
Avec findAll je sais que le résultat est une liste
constituée de cellules ou de zones (les cellules
contigües contenant le texte cherché étant
regroupées dans une seule zone).
Autrement dit si 2 cellules contigües contiennent
le texte, elle ne comptent que pour une zone dans
le résultat (il faut ensuite éventuellement tester
si c'est une cellule ou une zone).
Si oui, se pourrait-il que, dans ce cas, il y ait
un comportement différent selon que la première
des cellules contient exactement ou non le texte
cherché, la recherche donnant une seule zone si la
première cellule contient exactement le texte
cherché (toto) et deux zones si la première
cellule contient une partie (tot) du texte cherché.
Si toto et toto2 sont dans deux cellules
contigües, il faudrait regarder si le phénomène se
produit de la même façon en mettant toto et toto2
dans deux cellules non contigües.
Pascal
Le 06/01/2011 17:40, open-office a écrit :
Bonjour,
Je vais essayer d'être claire
Dans un tableau calc, je crée une macro qui
recherche des noms avec le code suivant (merci la
communauté, je l'ai trouvé sur le site)
/Cherche = maZone.createSearchDescriptor
with Cherche
.SearchString = "toto"
.SearchWords = false
end with
trouve = maZone.findAll(Cherche)
if IsNull(trouve) then
msgbox "non trouvé"
exit sub
endif
msgbox "Nombre d'occurrences : " & trouve.Count/
Mon problème est que si dans mon fichier j'ai toto
et toto2 et que je recherche toto il ne me trouve
que le premier, idem si j'ai deux fois toto, alors
que si je cherche tot il me trouve bien les deux.
Y-a-t-il un paramètre à rajouter pour que lorsque
je cherche toto je trouve toutes les occurrences
de "toto" ?
merci
---------------------------------------------------------------------
To unsubscribe, e-mail:
prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail:
prog-h...@fr.openoffice.org
---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org