Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Autre bug sur les recherches de cellules

4 réponses
Avatar
GL
Bonjour,

Si on recherche les cellules (avec la boîte de dialogue)
qui ont un bord gauche continu, excel ne trouve pas les
cellules qui ont un bord gauche continu et aussi une
autre bordure :

Recherche sur un cadre :

---------------
|x |x
|y |x
|y |x
|x |x
---------------

Seules les deux cellules "y" sont trouvées... no comment.

4 réponses

Avatar
MichD
Bonjour,

Avec un peu de travail, tu devrais y arriver. Regarde l'exemple déjà fourni sur l'autre fil sur le même sujet!
Avatar
Jacquouille
Hello Denis
Parfois, ce qui est trop logique dépasse l'entendement....
On demande à Excel 1 bordure...alors, il sort les "1 bordure".....-))

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
lnkskt$cm0$

Bonjour,

Avec un peu de travail, tu devrais y arriver. Regarde l'exemple déjà fourni
sur l'autre fil sur le même sujet!


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Avatar
GL
Le 15/06/2014 23:51, Jacquouille a écrit :
Hello Denis
Parfois, ce qui est trop logique dépasse l'entendement....
On demande à Excel 1 bordure...alors, il sort les "1 bordure".....-))



Non non ! On demande à Excel 1 bordure et il sort les *6* bordures
(celles que je n'ai pas spécifiées sont comparées à xlLineStyleNone).
Autrement dit, j'ai recherché 1 bordure en xlContinuous, et pas 1
bordure en xlContinuous et une autre en xlNone.

Application.FindFormat permet de voir que :
Application.FindFormat.Borders(xlEdgeRight).LineStyle vaut Null

Les propriétés booléennes sont souvent passées en Variant de sorte
qu'elle prennent en fait les valeurs True/False ou Null (et au passage
on perd Intellisense, ce qui pour les booléens n'est pas bien génant,
mais nettement plus pour les énumérations pour lesquelles on pourrait
avoir une valeur "magique" xlNull = -2^31 par exemple, les énumérations
étant en fait des Long en VBA: seul Intellisense en a cure).

Par conséquent, si .LineStyle = Null dans FindFormat, il ne vaut pas
xlLineStyleNone = xlNone = -4142L <> Null

Il s'agit effectivement d'un bug, comme indiqué.
Avatar
GL
Le 15/06/2014 21:36, MichD a écrit :
Bonjour,

Avec un peu de travail, tu devrais y arriver. Regarde l'exemple déjà
fourni sur l'autre fil sur le même sujet!



D'après le site de microsoft, il faut faire un
For Each cel in <Plage> .. tester les bordures

Effectivement, cela semble la seule possibilité (la finalité est de
sauvegarder les propriétés des bordures, pour Undo/Redo). Ceci étant,
comme la bordure droite de C4 est la bordure gauche de D4, il y a une
optimisation possible (on n'est pas toujours obligé de scanner toutes
les cellules). Evidemment ça nécessite de définir des procédés de
collecte des propriétés : quand Excel a bientôt 30 ans (d'après
Wikipedia) ça fout un peu les boules...

Bonne journée.