# Comment créer des tabulations dans un MText ?

**URL:** https://dessein-tech.com/t/comment-creer-des-tabulations-dans-un-mtext/9598
**Category:** AutoCAD support
**Tags:** support, lisp, programmation
**Created:** 2026-01-08T17:01:21Z
**Posts:** 8

## Post 1 by @DenisH — 2026-01-08T17:01:21Z

Bonjour à la communauté.  
Je cherche depuis longtemps à créer un texte multilignes (MText) avec des tabulations, le tout en Lisp (ou AutoLisp).  
J’ai passé des heures sur Perplexity, et le résultat le plus souvent reçu est :

```
(defun C:MTABS-VLA (/ doc ms p mt tabs)
  (vl-load-com)
  (setq doc (vla-get-ActiveDocument (vlax-get-Acad-object))
        ms (vla-get-ModelSpace doc)
        p (vlax-3d-point (getpoint "\nPoint d'insertion : "))
  )
  ;; Création MText simple
  (setq mt (vla-AddMText ms p 100 "Col1\tCol2\tCol3\\P10\t20\t30"))

  ;; Exemple d’accès tabulations (pseudo-code, noms à vérifier dans ta version)
  (setq tabs (vla-GetTabStops mt)) ; collection de tab stops
  ;; Ajout d’un tab stop à 15.0, aligné à gauche
  (vla-Add tabs 15.0 acLeft) ; Left tab
  ;; Ajout d’un tab stop décimal à 40.0
  (vla-Add tabs 40.0 acDecimal) ; Decimal tab

  (princ)
)
```

Et voici le résultat :

 ![2025.01.08_01_Lisp Fait](https://dessein-tech.com/uploads/default/original/2X/1/19d375ee952a0b3326747259ea31e3136e1a5428.png)  
Il n’y a aucune tabulation définies. J’ai la douloureuse sensation que _vla-GetTabStops_ ne fonctionne pas.  
J’aimerais obtenir ça :  
 ![2025.01.08_01_Lisp Voulu](https://dessein-tech.com/uploads/default/original/2X/5/58adbaf0ab120ce913cbf95f2649302a5738a5a7.png)  
Avec trois tabulations «&nbsp;gauche&nbsp;» à 2, 4 et 6 et une tabulation décimale à 30 (par exemple).  
Je cherche depuis plusieurs jours, mais rien de probant.  
Bien à toi, la communauté.  
Denis…

---

## Post 2 by @Patrick — 2026-01-08T17:07:46Z



---

## Post 3 by @Patrick — 2026-01-08T17:26:24Z

Salut, l’intelligence artificielle est un domaine en perpétuelle évolution, ça change tout le temps. Donc je te conseille pour le moment de plutôt utiliser Gemini 3 Pro plutôt que Perplexity, qui est un petit peu dépassé en termes de génération de code.

J’ai envoyé le prompt suivant à Gemini 3 Pro:

_Pourrais-tu m’écrire un programme AutoLISP pour AutoCAD® qui crée un objet texte multiple, dans l’espace objet d’AutoCAD®. Ce texte multiple devra avoir des tabulations comme ceci. Avec trois tabulations « gauche » à 2, 4 et 6 et une tabulation décimale à 30_

Il m’a sorti un programme AutoLISP avec une petite erreur d’échappement des caractères avec la barre oblique, c’est une erreur classique avec l’intelligence artificielle, je lui ai dit qu’il y avait une erreur il m’a corrigé le code et il m’a sorti le code suivant qui fonctionne parfaitement voir le résultat en copie d’écran ci dessous:

Ca m’a pris moins de trois minutes :smiley:

 ![image](https://dessein-tech.com/uploads/default/original/2X/6/69bb8a07588e6dba24431b4a820d4e346e4d523c.png)

```
(defun c:MTextTabCorrect (/ acadObj doc modelSpace pt insPt tabChar textString mtextObj)
  (vl-load-com)

  (setq acadObj (vlax-get-acad-object))
  (setq doc (vla-get-ActiveDocument acadObj))
  (setq modelSpace (vla-get-ModelSpace doc))

  (setq pt (getpoint "\nSélectionnez le point d'insertion : "))
  
  (if pt
    (progn
      (setq insPt (vlax-3d-point pt))

      ;; --- LA CORRECTION EST ICI ---
      ;; On définit une variable pour le vrai caractère de tabulation (Code ASCII 9)
      (setq tabChar (chr 9))

      ;; On construit la chaîne en assemblant les morceaux.
      ;; "{\\pt2,4,6,d30;" -> Définit les tabulations (notez le double \\ pour que le LISP envoie un simple \)
      ;; tabChar -> Insère la vraie tabulation invisible
      (setq textString (strcat 
                         "{\\pt2,4,6,d30;" 
                         "Pos2" tabChar 
                         "Pos4" tabChar 
                         "Pos6" tabChar 
                         "123.45}"
                       ))

      ;; Création de l'objet
      (setq mtextObj (vla-AddMText modelSpace insPt 0.0 textString))
      
      ;; Hauteur du texte
      (vla-put-Height mtextObj 2.5)
      
      ;; Force la mise à jour de l'affichage
      (vla-Update mtextObj)
      
      (princ "\nMText créé avec de VRAIES tabulations.")
    )
    (princ "\nAnnulé.")
  )
  (princ)
)
```

---

## Post 4 by @DenisH — 2026-01-08T18:09:43Z

Un super merci Patrick ! ! !  
C’est exactement ce que je cherchais ! ! !  
Mais j’ai copié ton _prompt_ dans _Gemini 3 Pro_ et j’ai eu plusieurs pages en réponse, dont un format RTF.  
Je vais approfondir ce Gemini.  
Encore merci !  
Denis…

---

## Post 5 by @Patrick — 2026-01-09T00:47:40Z

En complément, j’expliquais ci-dessus comment générer une petite routine AutoLISP avec l’intelligence artificielle Google Gemini 3 Pro. J’en profite pour signaler et vous montrer une démonstration de mon [assistant expert AutoCAD](https://dessein-tech.com/t/lassistant-expert-autocad-ia-pro-est-disponible-publiquement/9335) basé sur l’intelligence artificielle qui est disponible soit à tout le monde en plan gratuit avec des limitations, soit à mes abonnés Patreon payant sans limitation. Et voici donc ci-dessous un exemple de ce que cet assistant peut générer comme routine Lisp avec le plan payant:

[![](https://dessein-tech.com/uploads/default/original/2X/2/2a2ce3049a845a0d54dfa270cfcc38d7cbe4cc54.jpeg "Générer un programme AutoLISP avec Gemini 3 Pro pour créer un Mtext avec tabulations") ](https://www.youtube.com/watch?v=B7omJdihTXg)

---

## Post 6 by @DenisH — 2026-01-09T13:10:54Z

Mas isso é bom para você (Patrick) no vídeo ?

---

## Post 7 by @Patrick — 2026-01-09T15:39:27Z

Salut ben dans la vidéo ce que j’ai fait me convient très bien le programme a été généré sans erreur immédiatement, il est un peu différent de celui que j’avais généré la première fois avec Gemini mais ça c’est le propre de l’intelligence artificielle, ça ne donne jamais le même résultat.

---

## Post 8 by @system — 2026-01-12T15:40:06Z

Ce sujet a été automatiquement fermé après 3 jours. Aucune réponse n’est permise dorénavant.
