sreef
Messages postés13Date d'inscriptionvendredi 13 décembre 2002StatutMembreDernière intervention 1 avril 2005
-
17 janv. 2005 à 10:28
sreef
Messages postés13Date d'inscriptionvendredi 13 décembre 2002StatutMembreDernière intervention 1 avril 2005
-
18 janv. 2005 à 11:53
Salut, je programme une Appli qui doit récupérer des objets de types labels et autres objets cercles ellipses.... sur ma form et les redessiner sur Excel.
J'arrive à dessiner un label sur ma feuille mais impossible de la paramètrer (Caption, couleur, police...)
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 17 janv. 2005 à 11:33
J'ai fait ça pour modifier le texte du label :
Dim l_Shape As Shape
Set l_Shape = ActiveSheet.Shapes.AddFormControl(XlFormControl.xlLabel, 10, 10, 20, 20)
l_Shape.TextFrame.Characters.Text = "toto"
Il n'y a a priori pas de propriétés pour la couleur, taille de la police, format ... sur le label, car même en essayant de modifier les propriétés directement depuis Excel, seul le texte est modifiable
Tu peux éventuellement créer une zone de texte à la place de ton label
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 145.5, 210#, _
170.25, 91.5).Select
Selection.Characters.Text = "qsdfdsf"
With Selection.Characters(Start:=1, Length:=7).Font
.Name = "Arial"
.FontStyle = "Normal"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
sreef
Messages postés13Date d'inscriptionvendredi 13 décembre 2002StatutMembreDernière intervention 1 avril 2005 18 janv. 2005 à 11:53
En fait j'ai réussi entre temps merci quand meme
On peut modifier les propriétés (Font, Couleur...)
For i = 0 To Me.Label1.Count - 1
FeuilleXL.Shapes.AddLabel(msoTextOrientationHorizontal, Me.Label1(i).Left, Me.Label1(i).Top, Me.Label1(i).Width, Me.Label1(i).Height).Select
FeuilleXL.Shapes("Zone de texte " & i + 1).Name = "Label" & i + 1
FeuilleXL.Shapes("Label" & i + 1).TextFrame.Characters.Caption = Me.Label1(i).Caption
FeuilleXL.Shapes("Label" & i + 1).TextFrame.Characters.Font.Bold = Me.Label1(i).FontBold
FeuilleXL.Shapes("Label" & i + 1).TextFrame.Characters.Font.Color = Me.Label1(i).ForeColor
FeuilleXL.Shapes("Label" & i + 1).TextFrame.Characters.Font.Italic = Me.Label1(i).FontItalic
FeuilleXL.Shapes("Label" & i + 1).TextFrame.Characters.Font.Name = Me.Label1(i).FontName
FeuilleXL.Shapes("Label" & i + 1).TextFrame.Characters.Font.Size = Me.Label1(i).FontSize
FeuilleXL.Shapes("Label" & i + 1).TextFrame.Characters.Font.Strikethrough = Me.Label1(i).FontStrikethru
FeuilleXL.Shapes("Label" & i + 1).TextFrame.Characters.Font.Underline = Me.Label1(i).FontUnderline
If Me.Label1(i).BackStyle = 1 Then
FeuilleXL.Shapes("Label" & i + 1).Fill.ForeColor.RGB = Me.Label1(i).BackColor
FeuilleXL.Shapes("Label" & i + 1).Fill.Visible = msoTrue
End If
If Me.Label1(i).BorderStyle = 1 Then
FeuilleXL.Shapes("Label" & i + 1).Line.ForeColor.RGB = Me.Label1(i).ForeColor
FeuilleXL.Shapes("Label" & i + 1).Line.Visible = msoTrue
End If
Next i
Par contre j'aurai aimer pouvoir préciser un angle de rotation sans utiliser les API mais je ne sais pas si c'est possible.