Je sais que mon titre n'est pas explicite mais je ne sais pas comment formuler autrement.
Pour illustrer mon propos, je me servirais du comportement d'une "msgbox".
Pour une boite de message, il est possible d'adapter l'apparence de celle-ci par addition des constantes "MB_".
Les 3 formulations sont strictement équivalentes et produisent le même résultat :
Code : Tout sélectionner
msgbox("Ceci est un test utilisant les constantes MB", MB_OKCANCEL + MB_ICONEXCLAMATION + MB_DEFBUTTON2,"TEST")
msgbox("Ceci est un test utilisant les valeurs MB", 1 + 48 + 256,"TEST")
msgbox("Ceci est un test utilisant la somme MB", 305,"TEST")
Contexte explicatif :
- j'ai une macro qui réalise une mise en forme "globale" à la fin de son exécution en traitant par "bloc verticaux" (exemple : [D20:D250] puis [F20:F250])
- j'aimerai une macro additionnelle pour que certaines lignes aient, en plus, une bordure en bas de cellule, sans rien modifier des bordures droite/gauche existantes.
J'ai parcouru les suprêmes et snippets de code sans trouver (ma demande est soit trop spécifique, soit mal formulée, soit encore une fois je m'y prend comme un manche). De même que cette page que j'ai tenté d'adapter.
Liste partielle d'autres manip réalisées sur une base faite à l'enregistreur de macro :
- en commentant tout ce qui concernait "topBorder", "TopDistance", BottomBorder" et "BottomDistance" dans la première macro de mise en forme des cellules ; puis en commentant tout ce qui concernait "Left[...]" et "Right[...]" dans la seconde macro que je cherche à écrire.
- en tentant de tracer cette bordure avant le traitement par bloc : elles disparaissent (off course)
- en tentant de le faire après le traitement par bloc : il ne reste plus que les bordures de bas de cellule
A noter qu'à chaque usage de l'enregistreur, j'ai fait attention que les lignes "grisées" (qui disent que sur la plage sélectionnée toutes les cellules n'ont pas une mise en forme identique) le restent : sans changement sur le résultat... Dans les résultats de l'enregistreur, il y apparait les mentions "flags" ( BorderInner.Flags et BorderInner.ValidFlags). Peut-être que s'y niche une partie de la solution, sauf que rien trouvé sur ces "flags".
Si une piste existe (sans avoir besoin de traiter toutes les cellules une par une...), je suis tout ouïe !
Merci
TAD