Bordure épaisse en encadré de la sélection après clic droit ?

  • Initiateur de la discussion Initiateur de la discussion anthoYS
  • Date de début Date de début

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 !

Bonjour anthoYS,

Cela a sûrement été déjà traité :
Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Byte
Cancel = True
Cells.Borders.LineStyle = xlNone 'RAZ nécessaire
For i = 7 To 10
    Target.Borders(i).Weight = xlThick
Next
End Sub
A+
 
Bonsoir,

-Encadre (seulement) la dernière sélection en rouge.
-Ne détruit pas les encadrements existants.

Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  On Error Resume Next
  ActiveSheet.Shapes("Curseur").Visible = True
  If Err <> 0 Then
    ActiveSheet.Shapes.AddShape(msoShapeRectangle, 6, 6, 8, 6).Name = "curseur"
    ActiveSheet.Shapes("Curseur").Fill.Visible = msoFalse
    ActiveSheet.Shapes("curseur").Line.Visible = True
    ActiveSheet.Shapes("curseur").Line.ForeColor.SchemeColor = 10
    ActiveSheet.Shapes("curseur").Line.Weight = 3
  End If
  ActiveSheet.Shapes("curseur").Left = Target.Left
  ActiveSheet.Shapes("curseur").Top = Target.Top
  ActiveSheet.Shapes("curseur").Height = Selection.Height
  ActiveSheet.Shapes("curseur").Width = Selection.Width
  Cancel = True
End Sub

jb
 

Pièces jointes

Dernière édition:
Bonjour si...,
Ca n'est valable que pour une cellule unique ta proposition.
eric

Salut eriiic

mais c'est aussi le cas avec les 2 évènements (que j'ai évités pour varier un peu) :

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)


Pour toucher plusieurs cellules d'une zone nommée Plage on peut passer par
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect(Target, [A2:A6500]) Is Nothing Then _
             [Plage].Borders.Weight = xlThick
End Sub

nota : je m'en suis tenu à "encadrer" donc n'ai pas pensé à l'intérieur.
 
- 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

Réponses
6
Affichages
257
Réponses
4
Affichages
199
Réponses
5
Affichages
130
Retour