Sub Parallelogramme
'variables
Dim xa As String, xb As String, xc As String, ya As String, yb As String, yc As String
Dim xi As Double, yi As Double
Dim xd As Double, yd As Double
'variables objets
Dim LesFeuilles as Object
Dim PremiereFeuille as Object
Dim Cellule as Object
'Initialisation
LesFeuilles = ThisComponent.Sheets
PremiereFeuille = LesFeuilles.GetbyName("Feuil1")
Cellule = PremiereFeuille.GetCellByPosition(3,6)
Cellule.String=""
Cellule = PremiereFeuille.GetCellByPosition(3,7)
Cellule.String=""
Cellule = PremiereFeuille.GetCellByPosition(3,9)
Cellule.String=""
Cellule = PremiereFeuille.GetCellByPosition(3,10)
Cellule.String=""
Cellule = PremiereFeuille.GetCellByPosition(3,12)
Cellule.String=""
Cellule = PremiereFeuille.GetCellByPosition(3,13)
Cellule.String=""
Cellule = PremiereFeuille.GetCellByPosition(3,16)
Cellule.String=""
Cellule = PremiereFeuille.GetCellByPosition(3,17)
Cellule.String=""
Cellule = PremiereFeuille.GetCellByPosition(3,20)
Cellule.String=""
Cellule = PremiereFeuille.GetCellByPosition(3,21)
Cellule.String=""
'Entrées (saisie des données et affichage des valeurs saisies)
xa = InputBox("Donner l'abscisse du point A", "Coordonnées du point A", 2)
If xa = "" Then Exit Sub
Cellule = PremiereFeuille.GetCellByPosition(3,6)
Cellule.Value = Val(xa)
ya = InputBox("Donner l'ordonnée du point A", "Coordonnées du point A", 6)
If ya = "" Then Exit Sub
Cellule = PremiereFeuille.GetCellByPosition(3,7)
Cellule.Value = Val(ya)
xb = InputBox("Donner l'abscisse du point B", "Coordonnées du point B", 1)
If xb = "" Then Exit Sub
Cellule = PremiereFeuille.GetCellByPosition(3,9)
Cellule.value = Val(xb)
yb = InputBox("Donner l'ordonnée du point B", "Coordonnées du point B", 1)
If yb = "" Then Exit Sub
Cellule = PremiereFeuille.GetCellByPosition(3,10)
Cellule.Value = Val(yb)
xc = InputBox("Donner l'abscisse du point C", "Coordonnées du point C", 7)
If xc = "" Then Exit Sub
Cellule = PremiereFeuille.GetCellByPosition(3,12)
Cellule.value = Val(xc)
yc = InputBox("Donner l'ordonnée du point C", "Coordonnées du point C", 3)
If yc = "" Then Exit Sub
Cellule = PremiereFeuille.GetCellByPosition(3,13)
Cellule.Value = Val(yc)
'Traitement
'Calculs intermédiaires
xi = (Val(xa) + Val(xc)) / 2
yi = (Val(ya) + Val(yc)) / 2
'affichage du résultat intermédiaire
Cellule = PremiereFeuille.GetCellByPosition(3,16)
Cellule.String = xi
Cellule = PremiereFeuille.GetCellByPosition(3,17)
Cellule.String = yi
'Calcul des coordonnées de D
xd = 2 * xi - Val(xb)
yd = 2 * yi - Val(yb)
'Sortie (affichage du résultat)
Cellule = PremiereFeuille.GetCellByPosition(3,20)
Cellule.value = Val(xd)
Cellule = PremiereFeuille.GetCellByPosition(3,21)
Cellule.Value = Val(yd)
End Sub