GrandLynx
Messages postés16Date d'inscriptionmardi 3 juillet 2007StatutMembreDernière intervention22 mai 2012
-
5 déc. 2008 à 11:36
GrandLynx
Messages postés16Date d'inscriptionmardi 3 juillet 2007StatutMembreDernière intervention22 mai 2012
-
9 janv. 2009 à 10:16
Bonjour,
est-ce que quelqu'un pourrait me dire comment on fait pour déssiner un rectangle "en dynamique" en vba!
j'ai essayé d'utiliser les apis donc g un code qui donne ça :
Dim monrectangle
Dim hd As Long
hd = apiGetDC(Me.Hwnd))
pen = apiCreatePen(0, 2, RGB(255, 0, 0))
brush = apiCreateSolidBrush(RGB(255, 0, 0))
hpen = apiSelectObject(hd, pen)
hbrush = apiSelectObject(hd, brush)
apiRectangle hd, 500, 500, 500, 500
ça ne m'affiche aucune erreur mais ça ne m'affiche rien à l'écran.. ça devrait pas m'afficher un carré rouge?
merci beaucoup si ya qq1 qui se penche sur le pb!
If z <= Hauteur Then '''Premier Côté
x = X0
y = Y0 - z
If z = 0 Then
Set Dwg = .Drawings.Add(X0, Y0, X0, y, False)
Dwg.Interior.ColorIndex = xlNone
Dwg.Border.Weight = xlThin
Dwg.Border.ColorIndex = 11
Else
Dwg.AddVertex x, y
End If
ElseIf z <= DemiPerimetre Then ''' Côté Suivant
zz = z - Hauteur
y = Y0 - Hauteur
x = X0 + zz
Dwg.AddVertex x, y
ElseIf z <= TroisQuart Then ''' Côté Suivant
zz = z - DemiPerimetre
y = Y0 - Hauteur + zz
x = X0 + Largeur
Dwg.AddVertex x, y
ElseIf z <= PeriMetre Then ''' Dernier Coté
zz = z - TroisQuart
y = Y0
x = X0 + Largeur - zz
Dwg.AddVertex x, y
End If
Next z
End With
End Sub
piloulac
Messages postés21Date d'inscriptiondimanche 10 juin 2007StatutMembreDernière intervention28 décembre 2008 20 déc. 2008 à 02:16
Cette sub dessine un triangle rectangle en "Dynamique"
Il suffit de modifier quelques paramètres, je pense.
Sub DrawTriangle()
Dim x As Integer
Dim y As Integer
Dim z As Single
Dim Dwg As Object
Const A = 100
Const B = 60
Const X0 = 300 'x origin
Const Y0 = 250 'y origin
With ActiveSheet
For z = 1 To 400 '
x = 400 + z
y = 200
If z = 1 Then
'First step, so use Add to start Drawing
Set Dwg = .Drawings.Add(A + X0, Y0, x, y, True)
Dwg.Interior.ColorIndex = xlNone
Else
'Add a vertex
Dwg.AddVertex x, y
End If
Next z
End With
Dwg.Border.Weight = xlMedium
Dwg.Border.ColorIndex = 11
Dwg.Interior.ColorIndex = 20
End Sub
GrandLynx
Messages postés16Date d'inscriptionmardi 3 juillet 2007StatutMembreDernière intervention22 mai 2012 9 janv. 2009 à 10:16
hey merci beaucoup,
je sais que si je veux du dynamique je devrais pas travailler sous vbA mais comme c'est pas moi qui choisit....
en tout cas ça m'a été très utile et si je réponds que maintenant!