Aide sur macro bordure

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

yusukens

XLDnaute Occasionnel
bonjours,

quelqu'un serait comment créer une macro qui permetterai de faire une bordure personnalisé sur plusieur cellule personnalisé ?

je m'explique, j'aimerai lorsque je choisi par exemple mon tableau de 4x4 celule, et que lorsque j'active la macro, les cellules selectionner aura en périfériques un contour en trait continu fin. et à l'intérieur, des traits horizontaux en pointillé, et les verticaux en trait continu.

merci de votre aide.
 
Re : Aide sur macro bordure

bonjour

je donne quand meme un code pour ne pas laisser un post sans réponse :

Code:
Public Sub toto()
With Selection
    .Borders.LineStyle = xlContinuous
    .Borders(xlInsideHorizontal).LineStyle = xlDash
End With
End Sub

salut
 
Re : Aide sur macro bordure

Salut yusukens

Arff je ne peux m'empêcher de venir te Saluer Hervé (j'espère que tu vas bien) donc ,pour excuse un petit ajout à ta macro lol

Code:
Public Sub toto()
With Selection
      .Borders.LineStyle = xlContinuous
      .Borders(xlInsideHorizontal).LineStyle = xlDash
      .[COLOR=Blue]BorderAround[/COLOR] LineStyle:=xlDouble, ColorIndex:=3, Weight:=xlThick
End With
End Sub
bonne fin de Soirée
 
Re : Aide sur macro bordure

Bonjour à vous tous,

Je trouve cette petite macro assez intéressante et personnellement, je désirerai l'utiliser dans l'evenement "selectionchange" de la feuille, le problème c'est qu'elle fonctionne bien à partir du moment ou l'on selectionne plusieurs cellules mais si qu'une seule cellule est selectionnée, la macro plante au niveau de la ligne :

.Borders(xlInsideHorizontal).LineStyle = xlDash

Ce qui est normal puisqu'en selectionnant qu'une seule cellule, je n'ai pas de bordure interieure, quelle code rajouter pour lui dire "si qu'une seule cellule selectionnée pas de ".Borders(xlInsideHorizontal).LineStyle = xlDash" ?

Merci à tous
 
Re : Aide sur macro bordure

Salut yusukens
bonjour Fanfan68

non testé en ajoutant un test sur le nombre de ligne et de colonne de ta place sélectionnée
exemple
If Target .column < 2 and target .row >2 then Goto Fin
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Selection As Range
Set Selection = Target
With Selection
      .Borders.LineStyle = xlContinuous
If[COLOR=blue] .Columns.Count < 2[/COLOR] Or [COLOR=blue].Rows.Count < 2[/COLOR] Then GoTo [COLOR=red]fin [COLOR=green]'on saute la ligne _[/COLOR][/COLOR]
[COLOR=red][COLOR=green]si moins deux lignes ou moins de Deux colonne[/COLOR]
[/COLOR]    .Borders(xlInsideHorizontal).LineStyle = xlDash
[COLOR=red]fin: [/COLOR][COLOR=green]'et on arrive ici lol
[/COLOR]    .BorderAround LineStyle:=xlDouble, ColorIndex:=3, Weight:=xlThick
End With
End Sub
le problème ,mais je n'ai peut être pas tout saisi lol
c'est que lorsques tu modifies une cellule même dans une plage l'élément changé l'est toujours que dans une cellule donc une colonne,une ligne ( .Borders(xlInsideHorizontal).LineStyle = xlDash)ne servira jamais
donc si tu veux modifier cellule par cellule tu enlèves cette ligne de la macro
enfin tu vois et tu précises si besoin
bonne journée
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour