Macro pour encadrement

Jerome01

XLDnaute Nouveau
Bonjour,


j'ai enregistré une macro qui comporte à un moment l'encadrement d'une case avec des grosses lignes.

Excel m'écrit ce qui suit ci-dessous alors qu'il y a sûrement plus court. Quelqu'un connaît il les quelques lignes à écrire qui suffiraient??

Merci beaucoup

With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
 

Orodreth

XLDnaute Impliqué
Re : Macro pour encadrement

Bonjour Jérôme.

De mémoire, c'est malheureusement le code entier et correct que tu as là, puisque chaque ligne "with" correspond à une ligne d'encadrement de ta celule (gauche, haut, bas, droite).

Donc je vois pas comment le simplifier. (A part faire un with général sur "Selection", et de faire des "sous" With sur les .borders
Mais ça ne change rien.

Cordialement,
Thomas
 

Celeborn61

XLDnaute Occasionnel
Re : Macro pour encadrement

Salut,

Puisque xlEdgeLeft=7
xlEdgeTop=8
xlEdgeBottom=9
et xlEdgeRight=10

With Selection
For Index = 7 To 10
With .Borders(Index)
.LineStyle = xlContinuous
.Weight = xlMedium
End With
Next Index
End With

Pour Info, les diagonales vers le haut, c'est 5 et vers le bas c'est 6.
 

Orodreth

XLDnaute Impliqué
Re : Macro pour encadrement

salut celeborn

J'avais eu l'idée, mais je connaissais pas les numéros d'index, merci :D

C'est un type entier tout simple ? o_O

(Ah oui, petite précision, tu peux quand même remplacer le "Selection" si tu veux faire ça en boucle sur des cellules variables, auquel cas, tu auras with cells(indexLigne, indexColonne) etc etc - ou plus compliqué)
 

Staple1600

XLDnaute Barbatruc
Re : Macro pour encadrement

Bonjour à tous



On peut aussi si c'est pour encadrer

procéder ainsi
Code:
Sub Encadrement()
Selection.BorderAround 1, xlMedium
End Sub

Pour une plage de cellule spécifée
Code:
Range("A1:B2").BorderAround 1, xlMedium
'en version raccourci
Code:
[A1:B2].BorderAround 1, xlMedium
 
Dernière édition:

Discussions similaires

Réponses
5
Affichages
1 K

Statistiques des forums

Discussions
312 845
Messages
2 092 771
Membres
105 531
dernier inscrit
Fidele Lebeni