Bonjour a tous,

J'ai un petit souci pour vouloir écrire dans des rectangles à partir du VBA excel (version 2007) dans Autocad (version 2018)

Le rectangle j'arrive a le faire y a pas de souci, je connais également les X et Y des 4 coins.

Je souhaiterai écrire au centre du rectangle mais le nombre de caractère peux changer, et je ne trouve pas comment faire.

Pour info les Points(0 à 4) sont déclarer bien avant en Double, se sont les coordonées x et y d'une polyligne qui forme le rectangle
J'ai donc essayer avec ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
'déclaration des variables
Dim ObjTexte As AcadText
Dim InsPoint(0 To 2) As Double
Dim Haul_Texte As Double
Dim Val_Texte As String
Dim Milieu(0 To 1) As Double
 
Milieu(0) = Points(0) + ((Points(4) - Points(0)) / 2)
Milieu(1) = Points(3) + ((Points(1) - Points(3)) / 2)
 
'affectation des variables
InsPoint(0) = Milieu(0)
InsPoint(1) = Milieu(1)
InsPoint(2) = 0
Haul_Texte = 60
Val_Texte = "Cartouche"
 
' Création du texte
Set ObjTexte = AcadPlan.ModelSpace.AddText(Val_Texte, InsPoint, Haul_Texte)
ObjTexte.Rotation = 0 ' l'angle 0 (zéro) est la direction des X
 
ObjTexte.Update
Mais j'obtiens le début du texte et le bas du texte en point d'insertion "InsPoint"

Nom : Ecriture non centrée.PNG
Affichages : 346
Taille : 6,5 Ko
Comment je peux dire de reculer de x mm en fonction du nombre de caractère et de descendre de Y mm en fonction de la hauteur du texte ??
---------------------------------------------------------------------------------------------------
Sinon j'ai essayer autrement avec l'envoie de commande mais il ne m'écrit pas le text automatiquement excel m'envoi sur autocad pour que je tape moi même le mot et quand je valide mon mot dans autocad, ma macro excel reprend
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
AcadApp.ActiveDocument.SendCommand "TEXTMULT" & vbCr & Origin(0) & "," & Origin(1) & vbCr & "J" & vbCr & "MC" & vbCr & "H" & vbCr & "60" & vbCr & Origin(0) + 1000 & "," & Origin(1) - 100 & vbCr & "CARTOUCHE"
les Origine(0 à 1) étant les coins de mon rectangle et le "MC" pour le centrage horizontale et verticale
Et du coup ça fonctionne, mais je suis obliger de taper le texte a chaque fois et je voudrais l'automatiser.
Nom : Ecriture centrée.PNG
Affichages : 321
Taille : 5,5 Ko

Auriez vous une idée de comment je peux résoudre mon problème de texte centré automatique ??

Merci