mise en forme cellule

luisf

XLDnaute Occasionnel
bonjour

je cherche le code qui permet de mettre une bordure une cellule?
lorsque je clique sur un bouton il vide la cellule et je voudrais ensuite remettre en forme la cellule:
- fond blanc
- bordure double trait

pour le fond je sais faire avec interior.colorindex=2
mais pour la bordure le sais pas!?

merci
 

luisf

XLDnaute Occasionnel
Re : mise en forme cellule

oui je viens d'y penser mais j'obtiens le code suivant:
Code:
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlDouble
        .Weight = xlThick
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlDouble
        .Weight = xlThick
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlDouble
        .Weight = xlThick
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlDouble
        .Weight = xlThick
        .ColorIndex = xlAutomatic
    End With
    With Selection.Interior
        .ColorIndex = 2
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
    End With

il faut mettre tout sa ou il y a des chose qui sont inutile???
 

cbea

XLDnaute Impliqué
Re : mise en forme cellule

Bonjour luisf, eric,

Voici une solution :
Code:
Public Sub Bordure(Plage As Range, Position, TypeLigne, HauteurLigne)
    ' Mettre une bordure
    With Plage.Borders(Position)
        .LineStyle = TypeLigne
        .Weight = HauteurLigne
        .ColorIndex = xlAutomatic
    End With
End Sub

Pour mettre des bordures à la cellule A2 (traits simples à droite, à gauche, en haut et en bas de la cellule) :
Code:
Call Bordure(Range("A2"), xlEdgeLeft, xlContinuous, xlThin)
Call Bordure(Range("A2"), xlEdgeTop, xlContinuous, xlThin)
Call Bordure(Range("A2"), xlEdgeBottom, xlContinuous, xlThin)
Call Bordure(Range("A2"), xlEdgeRight, xlContinuous, xlThin)
 

luisf

XLDnaute Occasionnel
Re : mise en forme cellule

en ce qui concerne le code de la mise en forme pas de probleme j'ai reussi a faire par contre j'ai une erreur qui est : la méthode select de la classe range a échoué.

je ne sais pas trop se que c'est comme erreur!?

j'utilise le code suivant:
Code:
Sheets(2).Visible = True
Sheets(2).Range("B4:B21").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlDouble
    Selection.Borders(xlEdgeTop).LineStyle = xlDouble
    Selection.Borders(xlEdgeBottom).LineStyle = xlDouble
    Selection.Borders(xlEdgeRight).LineStyle = xlDouble
    Selection.Borders(xlInsideHorizontal).LineStyle = xlDouble
Selection.Interior.ColorIndex = 2
Sheets(1).Select
Sheets(2).Visible = False
 

cbea

XLDnaute Impliqué
Re : mise en forme cellule

Voici une solution :
Code:
    With Sheets(2)
        .Visible = True
        [COLOR="Red"].Select[/COLOR]

        .Range("B4:B21").Select
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        Selection.Borders(xlEdgeLeft).LineStyle = xlDouble
        Selection.Borders(xlEdgeTop).LineStyle = xlDouble
        Selection.Borders(xlEdgeBottom).LineStyle = xlDouble
        Selection.Borders(xlEdgeRight).LineStyle = xlDouble
        Selection.Borders(xlInsideHorizontal).LineStyle = xlDouble
        Selection.Interior.ColorIndex = 2
        .Visible = False
    End With
    Sheets(1).Select
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 231
Messages
2 086 442
Membres
103 210
dernier inscrit
Bay onais