OVH Cloud OVH Cloud

Tracer 1 ligne dans 1 cellule

2 réponses
Avatar
capkurk
Bonjour à tous,

Voilà, je voudrais tracer 1 ligne horizontale dans 1 cellule (la barrer en
quelque sorte).
Seulement le choix de la cellule dépend de son contenu (= vide) selon 1
macro.
Pouvez-vous m'aider ?

Merci bien

2 réponses

Avatar
Jean-François Aubert
Salut capkurk,

Quelque chose comme ceci devrait faire l'affaire.

- A placer dans le module de la feuille adéquate.
- Adapter la plage de cellule : Range("A1:C3")
- Une cellule contenant qu'un ou des espace(s) est considérée comme non-vide


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:C3")) Is Nothing And Target.Value = 0 Then
With Target
x0 = .Left
x1 = .Left + .Width
y0 = .Top + 0.5 * .Height
End With
ActiveSheet.Lines.Add(x0, y0, x1, y0).Select
End If
End Sub

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"capkurk" a écrit dans le message de
news:eN7v%
Bonjour à tous,

Voilà, je voudrais tracer 1 ligne horizontale dans 1 cellule (la barrer en
quelque sorte).
Seulement le choix de la cellule dépend de son contenu (= vide) selon 1
macro.
Pouvez-vous m'aider ?

Merci bien




Avatar
garnote
Salut capkurk,

Ai-je bien compris ?

Sub Ligne_Horizontale_Dans_Cellules_Vides()
For Each c In Selection
If IsEmpty(c) Then
dx = c.Left
dy = c.Top + c.Height / 2
fx = dx + c.Width
fy = dy
Set LH = ActiveSheet.Shapes.AddLine(dx, dy, fx, fy)
LH.Line.Weight = 2
End If
Next
End Sub

Et si tu ne tiens pas à une ligne horizontale, tu pourrais
utiliser Format / Cellule... / Bordure :
trait oblique de haut en bas.

Serge

"capkurk" a écrit dans le message de
news:eN7v%
Bonjour à tous,

Voilà, je voudrais tracer 1 ligne horizontale dans 1 cellule (la barrer en
quelque sorte).
Seulement le choix de la cellule dépend de son contenu (= vide) selon 1
macro.
Pouvez-vous m'aider ?

Merci bien