Effacer une partie des bordures

apdf1

XLDnaute Impliqué
Bonjour

Je souhaiterais effacer a l'aide d'un bouton les bordures se trouvant en "A4:X60" de ma feuil2 en passant par VBA.

Un très grand merci pour celui ou celle qui pourra m'aider……..

Cordialement
Max
 

Jiheme

XLDnaute Accro
Re : Effacer une partie des bordures

Bonjour apdf1, re à tous

Juste avec l'enregistreur de macros (à ne jamais oublier)

Code:
Sub Macro1()
'
' Macro1 Macro
'
'
    Range("A4:X60").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub

A+
 

laurent950

XLDnaute Accro
Re : Effacer une partie des bordures

Bonjour,

Sub Macro1()


Range("A4:X60").Select

With Selection
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders.LineStyle = xlNone
End With
End Sub


Cette ligne ===>>> .Borders.LineStyle = xlNone ====>>> Remplace :

.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone

Ps : J'ai pas trouver en une ligne ce qui pose souci c'est les ligne :
xlDiagonalDown et xlDiagonalUp (en deux lignes)

Soit (3 lignes) pour l'effacement de toutes les bordures au lieux de (8 lignes)

Si une personnes du forum connait l'astuce pour toute effacer en une ligne pour une meilleur lisibilité du code st du maintien de la macro merci.


Laurent
 

laurent950

XLDnaute Accro
Re : Effacer une partie des bordures

Bonjour DoubleZero,

J'ai tester sur excel2003 chez moi cette ligne :

.Borders.Value = 0 ===>> est l'équivalent de celle-ci ===>> .Borders.LineStyle = xlNone

C'est toujours les lignes diagonal qui ne s'efface pas ===>>> donc toujours (3 lignes) de codes pour effacement.

Merci pour votre contribution.
 

laurent950

XLDnaute Accro
Re : Effacer une partie des bordures

Bonjour le fil, le forum,

J'ai chercher est trouver une astuce qui peux facilité la vie effacer en une ligne.

Sub Macro1()

Range("B8:K26").Select

For i = 5 To 12
Selection.Borders(i).LineStyle = xlNone
Next i
End Sub

Explication : les variables ci dessous sont des constantes d'excel VBA c'est a dire que pour chaqu'une de ses constantes elle sont indexé (par l'aplication en correlation avec Borders = donc un numéro pour chacune d'elle, je met en face le numéro de correspondance.

xlDiagonalDown ' c'est égale au numéro 5
xlDiagonalUp ' c'est égale au numéro 6
xlEdgeLeft ' c'est égale au numéro 7
xlEdgeTop ' c'est égale au numéro 8
xlEdgeBottom ' c'est égale au numéro 9
xlEdgeRight ' c'est égale au numéro 10
xlInsideVertical ' c'est égale au numéro 11
xlInsideHorizontal ' c'est égale au numéro 12

Donc faire une boucle sur les numéro connu (car constante = invariables) de 0 à 12 pour effacer toutes les lignes y compris les lignes diagonals.

Voila mon explication qui n'est peux être pas la meilleur mais quand même astucieuse pour une meilleur lisibilité du code.

et la selection peux être changer directement avec les plages concerner pour effacer différent partie de plage sur une ou plusiur feuilles en même temps.

exemple de simplification suplémentaire pour tous faire en une ligne avec l'astuce de la boucle :

Range("B8:K26") ===>>> c'est la zone a traiter pour cette exemple.

On peux en traiter autant que l'on veux en une fois pour centraliser le nettoyage.

For i = 5 To 12
Range("B8:K26").Borders(i).LineStyle = xlNone
'Range("B88:K26").Borders(i).LineStyle = xlNone ' exemple adapter en foncction de...
'Range("x88:yy26").Borders(i).LineStyle = xlNone 'exemple adapter en foncction de...
Next i


Laurent
 

Pièces jointes

  • ClearBordersOnLigne.xls
    38 KB · Affichages: 75
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 361
Messages
2 087 609
Membres
103 606
dernier inscrit
lolo1970