Interior.color = vbWhite enlève les bordures

Bonjour,

Je code une macro qui me colore une ligne, j'aurais pu et même du utiliser les formules conditionnelles, mais j'avais envie de coder -c'est une attitude déplorable mais assumée

Mon soucis, c'est que ma ligne conditionnelle

cell.interior.color = vbWhite

enlève les 'bordures' natives, ce qu'ils appellent le "quadrillage" ;

J'ai déjà codé une macro pour changer l'état de la feuille :

Sub Quadrillage()

'AFFICHE OU FAIT DISPARAITRE LE QUADRILLAGE SUR LA FEUILLE ACTIVE

With ActiveWindow
    If .DisplayGridlines = True Then
        .DisplayGridlines = False
    Else
        .DisplayGridlines = True
    End If
End With

End Sub

Je pense pouvoir l'utiliser, ou bidouiller pour remettre d'une façon ou d'une autre le quadrillage,

Mais je ne comprends pas pourquoi changer l'intérieur de la cellule influe aussi sur le quadrillage considéré ??

C'est une question que je m'étais déjà posée, récurrente, et j'aurais grand plaisir à en comprendre les raisons !

Bien à vous,

Bon début de semaine

Bonjour DOUZAL, le forum,

Essaies ceci: cell.interior.color = xlnone (si le but est de supprimer la couleur....)

Cordialement,

Bonjour Douzal,

C'est tout à fait normal, tu mets du blanc dans ta cellule, donc une couleur

Si tu veux pouvoir laisser ton quadrillage, il ne faut pas mettre de couleur

cell.interior.color = xlNone

Edit : oups, salut xorsankukai

A+

Merci !!

Et pour remettre le quadrillage ??

Car finalement, même en rajoutant la ligne :

'remet les grilles quoiqu'il
ActiveWindow.DisplayGridlines = True

Le quadrillage déjà enlevé via mon code ... Ne revient pas

J'ai mis une capture d'écran,

Merci pour vos conseils !

Je connais le xlNone, ça doit plus être au niveau du concept,

Pour moi remplir l'INTERIEUR de la cellule .. N'allait pas toucher aux bordures ?

Mais cet objet n'est pas vraiment une bordure, ce "quadrillage", un peu touchy j'ai l'impression à manipuler

Merci pour votre aide (rapide en plus !!)

apex 2019 03 25 13 24 48 projet fed xlsm excel

Nb : je confirme, votre amélioration permet d'atteindre mon objectif !! Merci

Bonjour,

Ne pas confondre un fond blanc qui "colorise ou masque" les bordures en blanc tout comme le jaune le fait aussi... Et le "non couleur" qui enlève la couleur qu'elle qu' elle soit, donc le xlNone.

Faites un essai sur une feuille sélectionnez une plage et choisissez le rouge, les bordures de la plage disparaissent.

@ bientôt

LouReeD

Oups ! Navigation sur téléphone... J'avais pas vu toutes ces réponses !

Bonjour à BrunoM45 et à XOr (et oui j'ai toujours choisi )

@ bientôt

LouReeD

Un grand merci pour vos réponses,

Je perçois donc la nuance

Mais le interior.color devait à mes yeux ... Eh bien ne colorer que l'intérieur ?

Sinon j'aurais cherché un cells.fullColor (ou une propriété mieux nommées mais qui incite à penser qu'on parle effectivement de "toute" la cellule)

Du coup, comment ne colorer que l'intérieur, sans toucher au grid, au quadrillage de base ?

J'imagine qu'un

cell.interior.color = RGB(n,m,p)

et autres

cell.interior.colorIndex = n 

auront le même effet ?

Bonjour, salut tous le monde !

C'est bien le cas, seul l'intérieur est coloré. Le quadrillage que tu vois par défaut n’apparaît pas à l'impression par exemple, car il n'est pas coloré et sert juste de repère visuel.

Pas besoin de VBA pour s'en rendre compte, sélectionne ta plages et applique une couleur de fond blanc. Et paf, plus de quadrillage !

Maintenant, si tu applique une couleur de quadrillage, il réapparait (et ne sert plus juste de guide visuel, puisqu'il passe à l'impression).

Lorsque vous faites "format cellule" à la base il n'y en a pas, les bordures "grises pâle" ne sont là que pour faciliter votre repérage sur la feuille. Si vous voulez des bordures qui restent malgré la couleur il faut jouer avec les bordures, Borders sous VBA, un petit enregistrement de macro vous montrera ce qui est possible en sachant qu'il y a beaucoup de nettoyage à faire sur le code à l'issue de l'enregistrement...

@ bientôt

LouReeD

Décidément le surf sur téléphone n'est pas pour moi!

Bonjour Pedro22

@ bientôt

LouReeD

Merci,

Donc une fois coloré l'intérieur des cellules, on ne peut plus "revenir en arrière", à un quadrillage "repère" préexistant ?

J'ai manipulé les borders VBA oui, je vois mieux quel objet c'est, plus simple, concrêt ...

Alors que ce quadrillage ...

Une des macros de mon fichier qui les répertorie est justement pour afficher / faire disparaitre ce quadrillage :

Sub Quadrillage()

'AFFICHE OU FAIT DISPARAITRE LE QUADRILLAGE SUR LA FEUILLE ACTIVE

With ActiveWindow
    If .DisplayGridlines = True Then
        .DisplayGridlines = False
    Else
        .DisplayGridlines = True
    End If
End With

End Sub

Seulement, une fois l'interior.color changé ... Il n'a effet que sur le reste de la feuille

C'est là où conceptuellement je commence à être largué !

Mais je me prends peut être la tête pour un truc peu utile, c'est même certain c'est du détail.

Mais j'aime le détail

Bonjour,

Tu n'utilises pas de quadrillage.. mais les séparations visuelles d'Excel

Tu as eu tes réponses, maintenant si tu veux être têtu et plus fort que Microsoft... développe ton propre tableur

Bonjour,

L'astuce est simple, fastidieuse mais simple :

Vous mettez une cellule sans bordures en blanc, vous passer cette cellule "sans couleur" avec xlNone, les bordures disparaissent alors essayez de passer la cellule en rouge, un rafraîchissement écran puis en xlNone...

Cela marchera peut être...

@ bientôt

LouReeD

Mais de mon côté si je met en blanc, les bordures passent en blanc on ne voit plus le quadrillage et quand je passe en xlNone le quadrillage ré apparaît...

@ bientôt

LouReeD

Merci pour vos réponses,

Je vais les relire, apparemment je n'en ai pas saisi toutes les subtilités ;

Je vous rassure Bruno, je n'ai pas l'ambition de créer mon tableur, ne serais-ce que pour l'ampleur de la tache si l'on désire dépasser Excel, logiciel si puissant

Mais on s'y perd rapidement, impossible de tout en maitriser ...

Je tente l'astuce, LouReed !!

Edit : je ne comprends pas Bruno le fait que vous me trouviez si arrogant,

Je confirme qu'il s'agit bien de quadrillage dans ce dont je parle depuis le début,

GridLine en anglais ...

Une vidéo à ce propos : clic

Et c'est bien ce "quadrillage" que je cherchais à récupérer,

J'ai par ailleurs réussi grace à vous

J'ai juste choisis la plage, et sélectionné "aucun remplissage"...

Nb : je vérifie la méthode xlNone via VBA, merci LouReed !! --> ça fonctionne nickel !

apex 2019 03 26 11 56 28 projet fed xlsm excel
Rechercher des sujets similaires à "interior color vbwhite enleve bordures"