VBA Excel qui commande AutoCAD

Fermé
jp - 30 mai 2012 à 16:51
 Yoda - 31 mai 2012 à 15:49
Bonjour,

Lorsque je clique un bouton dan sun UserForm, celui ci m'emmène sur AutoCad .
Le soucis que j'ai c'est que lorsque je suis sur AutoCad, il faudrait qu'il me demande d'entrée une valeur.
Par exemple qu'AutoCad me demande "Veuillez indiquer le nombre de voiture" et que je rentre la valeur puis que lorsque j'appuie sur entrer il me le valide.

Est ce que quelqu'un sait comment faire ceci svp ?
Merci
JP

A voir également:

1 réponse

Bonjour,

En VBA, tu peux entrer une valeur avec InputBox. Par exemple

nombre_voitures = Val(InputBox("Entrez le nombre de voitures"))

ça marche aussi bien dans VBA Excel que dans VBA Autocad.

Reste à voir ou tu vas placer cette instruction, sans plus renseignements je ne peux pas en dire plus.

;)
0
Je vais voir poour plus de renseignement car c'est pour un collègue, demain j'en aurai plus je pense
0
Bonjour,

Ce que vous m'avez donné marche.
Maintenant j'ai deux questions:

Question 1:
Existe t'il une commande qui une foi la valeur entrée dans la "IMPUTBOX" il me ramène automatiquement sur AutoCad sans avoir besoin d'appuyer a chaque foi sur les onglets en bas ?

Question 2:

Et ce que c'est possible qu'a la place de "IMPUTBOX" il me demande la valeur directement sur AutoCad ?

Merci
JP
0
Je ne sais pas pas comment tu as monté ton programme, alors difficile de répondre avec précision.
A quel moment as-tu besoin d'entrer cette valeur?.
Si j'ai bien compris, tu as un bouton sur un UserForm Excel qui lance Autocad et qui charge un plan DWG.
Après, que ce passe-t-il? C'est quoi les onglets en bas sur lesquels tu appuyes?
Peut-être que si je voyais ton code, j'y verrai plus clair.
:)
0
Oui voila j'ai un UserForm Excel avec un bouton qui s'intitue "Selectionner_autocad".
Voila donc mon code en entier pour se bouton.

"SaisirPoint" est une fonction qui permet de dire le point d'insertion du texte sur AutoCad

Private Sub Bouton_selection_autocad_Click()
Dim pointinsertion As Variant
Dim i As Integer
Dim Nombre_guardians As Long
TextBox_valeur_guardians.Value = 0
Nombre_guardians = 0
For i = 1 To TextBox_nombre_de_terrasses.Value
Nombre_guardians = Val(InputBox("Entrer le nombre de guardians"))
TextBox_valeur_guardians = CStr(CDbl(TextBox_valeur_guardians) + Nombre_guardians)
pointinsertion = SaisirPoint("Point d'insertion du texte")
Call EcrireTexte("Guardians = " & Nombre_guardians, pointinsertion)
Next i
End Sub
0
Voila comment activer la fenêtre Autocad, si ça répond à ta question

Private Sub Bouton_selection_autocad_Click() 
Dim pointinsertion As Variant 
Dim i As Integer 
Dim Nombre_guardians As Long 
TextBox_valeur_guardians.Value = 0 
Nombre_guardians = 0 
For i = 1 To TextBox_nombre_de_terrasses.Value 
Nombre_guardians = Val(InputBox("Entrer le nombre de guardians")) 
TextBox_valeur_guardians = CStr(CDbl(TextBox_valeur_guardians) + Nombre_guardians) 

' Connexion avec AutoCAD (on active AutoCAD s'il est en cours d'exécution) 
Dim AcadApp As AutoCAD.AcadApplication 
On Error Resume Next 
Set AcadApp = GetObject(, "AutoCAD.Application") 
On Error GoTo 0 
If AcadApp Is Nothing Then 
Msgbox "AutoCAD n'est pas démarré"
Exit Sub
End If 
AcadApp.Visible = True 

pointinsertion = SaisirPoint("Point d'insertion du texte") 
Call EcrireTexte("Guardians = " & Nombre_guardians, pointinsertion) 
Next i 
End Sub
0