OVH Cloud OVH Cloud

Dessin - ligne - Besoin d'aide

7 réponses
Avatar
Fred
Bonjour,
Je souhaite créer une macro qui dessinera une ligne plus épaisse que celle
proposée par défaut lorsqu'on clique sur le bouton ligne. Le problème est que
je voudrai pouvoir positionner mon départ et mon arrivée de ligne avec la
souris (comme avec le bouton ligne). Mais ceci ne fonctionne pas avec cette
écriture dans VBA: ActiveSheet.Shapes.AddLine(240#, 114.75, 360#,
216.75).Select

Comment faire ?
Merci d'avance

7 réponses

Avatar
garnote
Salut Fred,

Peut-être que :

Sub Ligne_Épaisse()
dx = ActiveCell.Left
fx = ActiveCell.Left + ActiveCell.Width
dy = ActiveCell.Top
fy = dy
Set ligne = ActiveSheet.Shapes.AddLine(dx, dy, fx, fy)
ligne.Line.Weight = 3
ligne.Select
End Sub

Serge

"Fred" a écrit dans le message de news:

Bonjour,
Je souhaite créer une macro qui dessinera une ligne plus épaisse que celle
proposée par défaut lorsqu'on clique sur le bouton ligne. Le problème est
que
je voudrai pouvoir positionner mon départ et mon arrivée de ligne avec la
souris (comme avec le bouton ligne). Mais ceci ne fonctionne pas avec
cette
écriture dans VBA: ActiveSheet.Shapes.AddLine(240#, 114.75, 360#,
216.75).Select

Comment faire ?
Merci d'avance



Avatar
LSteph
Bonsoir,
Peut-être ceci:

Sub adeline()
Dim lin1
Set lin1 = ActiveSheet.Shapes.AddLine(240#, 114.75, 360#, 216.75)
lin1.Select
Selection.ShapeRange.Line.Weight = 3#
End Sub

lSteph
"Fred" a écrit dans le message de news:

Bonjour,
Je souhaite créer une macro qui dessinera une ligne plus épaisse que celle
proposée par défaut lorsqu'on clique sur le bouton ligne. Le problème est
que
je voudrai pouvoir positionner mon départ et mon arrivée de ligne avec la
souris (comme avec le bouton ligne). Mais ceci ne fonctionne pas avec
cette
écriture dans VBA: ActiveSheet.Shapes.AddLine(240#, 114.75, 360#,
216.75).Select

Comment faire ?
Merci d'avance



Avatar
garnote
Salut Fred,

Une suggestion :

Sub Ligne_Épaisse_Dans_Cellule_Active()
With ActiveCell
dx = .Left
fx = .Left + .Width / 2
dy = .Top
End With
fy = dy
Set ligne = ActiveSheet.Shapes.AddLine(dx, dy, fx, fy)
ligne.Line.Weight = 3
ligne.Select
End Sub

Serge

"Fred" a écrit dans le message de news:

Bonjour,
Je souhaite créer une macro qui dessinera une ligne plus épaisse que celle
proposée par défaut lorsqu'on clique sur le bouton ligne. Le problème est
que
je voudrai pouvoir positionner mon départ et mon arrivée de ligne avec la
souris (comme avec le bouton ligne). Mais ceci ne fonctionne pas avec
cette
écriture dans VBA: ActiveSheet.Shapes.AddLine(240#, 114.75, 360#,
216.75).Select

Comment faire ?
Merci d'avance



Avatar
garnote
Et pourquoi pas un autre With ;-)

Sub Ligne_Épaisse_Dans_Cellule_Active()
With ActiveCell
dx = .Left
fx = .Left + .Width / 2
dy = .Top
End With
fy = dy
With ActiveSheet.Shapes.AddLine(dx, dy, fx, fy)
.Line.Weight = 3
.Select
End With
End Sub

Bonsoir, Bonne nuit,

Serge


"garnote" a écrit dans le message de news:
%
Salut Fred,

Une suggestion :

Sub Ligne_Épaisse_Dans_Cellule_Active()
With ActiveCell
dx = .Left
fx = .Left + .Width / 2
dy = .Top
End With
fy = dy
Set ligne = ActiveSheet.Shapes.AddLine(dx, dy, fx, fy)
ligne.Line.Weight = 3
ligne.Select
End Sub

Serge

"Fred" a écrit dans le message de news:

Bonjour,
Je souhaite créer une macro qui dessinera une ligne plus épaisse que
celle
proposée par défaut lorsqu'on clique sur le bouton ligne. Le problème est
que
je voudrai pouvoir positionner mon départ et mon arrivée de ligne avec la
souris (comme avec le bouton ligne). Mais ceci ne fonctionne pas avec
cette
écriture dans VBA: ActiveSheet.Shapes.AddLine(240#, 114.75, 360#,
216.75).Select

Comment faire ?
Merci d'avance







Avatar
Fred64
Merci pour votre rapidité,
Effectivement c mieux cependant ne pensez vous pas qu'il y a possibilité de
tracer la ligne directement à la souris ?

"garnote" a écrit dans le message de news:
%
Salut Fred,

Une suggestion :

Sub Ligne_Épaisse_Dans_Cellule_Active()
With ActiveCell
dx = .Left
fx = .Left + .Width / 2
dy = .Top
End With
fy = dy
Set ligne = ActiveSheet.Shapes.AddLine(dx, dy, fx, fy)
ligne.Line.Weight = 3
ligne.Select
End Sub

Serge

"Fred" a écrit dans le message de news:

Bonjour,
Je souhaite créer une macro qui dessinera une ligne plus épaisse que
celle
proposée par défaut lorsqu'on clique sur le bouton ligne. Le problème est
que
je voudrai pouvoir positionner mon départ et mon arrivée de ligne avec la
souris (comme avec le bouton ligne). Mais ceci ne fonctionne pas avec
cette
écriture dans VBA: ActiveSheet.Shapes.AddLine(240#, 114.75, 360#,
216.75).Select

Comment faire ?
Merci d'avance







Avatar
Circé
Bonjour,

Fred64 a exposé le 15/10/2005 :
Merci pour votre rapidité,
Effectivement c mieux cependant ne pensez vous pas qu'il y a
possibilité de tracer la ligne directement à la souris ?


Ben voui, mais t'as demandé une macro !!!
Sans macro :

- Trace une ligne et attribue lui l'épaisseur souhaitée
- Clic droit sur la ligne : Définir comme attributs par défaut

C'est tout ! à présent toute tes nouvelles lignes auront cette même
épaisseur jusqu'à ce que tu modifies à nouveau les attributs par
défaut.

Circé
http://faqword.free.fr

Avatar
Fred64
Merci, ça répond à ma question,

A bientot
Fred
"Circé" a écrit dans le message de news:

Bonjour,

Fred64 a exposé le 15/10/2005 :
Merci pour votre rapidité,
Effectivement c mieux cependant ne pensez vous pas qu'il y a possibilité
de tracer la ligne directement à la souris ?


Ben voui, mais t'as demandé une macro !!!
Sans macro :

- Trace une ligne et attribue lui l'épaisseur souhaitée
- Clic droit sur la ligne : Définir comme attributs par défaut

C'est tout ! à présent toute tes nouvelles lignes auront cette même
épaisseur jusqu'à ce que tu modifies à nouveau les attributs par défaut.

Circé
http://faqword.free.fr