Nicky Posté(e) le 16 août 2019 Partager Posté(e) le 16 août 2019 Bonjour à tous, J'ai de solide connaissance en LISP, que j'utilise fréquemment, par contre je ne connais que les principes de base en VBA et j'aurai besoin d'un peu d'aide... Mon associé, ne s'intéressant pas du tout à la programmation, m'a fait part de ce vieux programme, conçu par un de ses amis, qu'ils utilisaient il y a une dizaine d'année. En l'état, le programme ne fonctionne pas (sur ma version d’AutoCAD en tout cas) mais je souhaiterai le remettre en route, voire l’améliorer. Bien que je n'y connaisse pas grand-chose en VBA, certaines fonctions ne me parle pas du tout (je suppose même qu’elles n'existent pas, puisque rien n'apparait dans l’Object browser… (SBar.SimpleText/CMD.Action/CMD.FileName...) Est-ce possible ???). Bref, je souhaiterai donc savoir si ce code peut fonctionner ? si oui, comment ? si non, est-il possible de modifier/d’adapter certaines parties afin qu'il puisse fonctionner...? Si quelqu'un pouvait y jeter un coup d'œil et m'apporter tout renseignement me permettant de comprendre ce qui ne fonctionne pas, je lui serais très reconnaissant. Merci d'avance. Private Sub ComFile_Click() CMD.Action = 1 InGrid = CMD.FileName If InGrid = "" Or InGrid = Null Then SBar.SimpleText = "Need a .GRD File" Exit Sub End If On Error Resume Next Open InGrid For Binary Access Read Write As #1 If Err <> 0 Then SBar.SimpleText = "Invalid.GRD File" Exit Sub End If On Error GoTo 0 Dim FLen As Long Dim X As Long Dim rw As Long Dim cl As Long Dim Idx As Long Dim Xi As Double Dim Yi As Double Dim Xs As Double Dim Ys As Double Dim Zm As Double Dim Zn As Double Dim Zx As Double Get #1, 21, rw Get #1, 25, cl Get #1, 29, Xi Get #1, 37, Yi Get #1, 45, Xs Get #1, 53, Ys Get #1, 61, Zm Get #1, 69, Zn Get #1, 77, Zx ' Get #1, 97, FLen Text0 = "XYmin= " + Format(Xi, "#.000") + "," + Format(Yi, "#.000") + Chr(13) Text0 = Text0 + "XYmax= " + Format(Xi + Xs * (cl - 1), "#.000") + "," + Format(Yi + Ys * (rw - 1), "#.000") + Chr(13) Text0 = Text0 + "Zmin= " + Format(Zm, "#.000") + " Zmax= " + Format(Zn, "#.000") + Chr(13) Text0 = Text0 + "Matrix Size(CR) = " & cl & "," & rw & Chr(13) Text0 = Text0 + "Cell Size X= " + Format(Xs, "#.0") + " Y= " + Format(Ys, "#.0") Close 1 Lb.Caption = InGrid Gfile = InGrid End Sub Private Sub UserForm_Activate() StartSmart.Left = 2 StartSmart.top = 385 SBar.Width = StartSmart.Width - 3 SBar.top = (StartSmart.Height - SBar.Height) - 20 If UCase(Right(Gfile, 3)) = "GRD" Then Lb = Gfile End Sub 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicky Posté(e) le 20 août 2019 Auteur Partager Posté(e) le 20 août 2019 Bonjour a tous, J'ai decouverts ce qui cloche... Avec la version d'AutoCAD 2018, impossible de charger les comandes VBA (Microsoft Common Dialog Control 6.0 et Microsoft Windows Common Controls 6.0 (SP6) dans le but d'utiliser respectivement les commandes CommonDialog et StatusBar). Il semblerait que jusqu'a la version 2010 ses commandes soit integrer au module AutoCAD, plus apres... Avec AutoCAD 2008, la routine fonctionne parfaitement!! Savez-vous donc s'il est possible d'ajouter ces commandes - "en options" dans les versions plus recentes d'AutoCAD - et si oui quelle est la marche a suivre pour pouvoir utiliser les commandes CommonDialog et StatusBar. Merci d'avance! Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 21 août 2019 Partager Posté(e) le 21 août 2019 Hello Une réponse sans réfléchir : As tu ajoute / installe le VBA "par dessus" ton AutoCAD !? https://knowledge.autodesk.com/support/autocad/downloads/caas/downloads/content/download-the-microsoft-vba-module-for-autocad.html?v=2018 Car cela fait bien longtemps que le VBA pour AutoCAD n est plus livré par Autodesk ! Bye, lecrabe "triste" Autodesk Expert Elite Team Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicky Posté(e) le 22 août 2019 Auteur Partager Posté(e) le 22 août 2019 Oui oui, j'ai bien fais la manip d'ajout du module VBA d'AutoCAD... Mais toutes les fonctions ne semble pas etre pris en charge par ce module.? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Curlygoth Posté(e) le 23 août 2019 Partager Posté(e) le 23 août 2019 c'est quoi le but de ton programme ? j'utilise uniquement les méthodes ActiveX. Que souhaites tu faire ? Mon site Web (en cours de construction) : Site DA-CODE de @didier Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicky Posté(e) le 29 août 2019 Auteur Partager Posté(e) le 29 août 2019 Le but final de ce programme est de créer une carte (un dégradé de couleur) des pentes, de l'altitude ou de l'exposition des faces. Mais la partie sur laquelle je bloque pour le moment (partie de code que j'ai copié) ne vise qu'a sélectionner un fichier GRID et l'ouvrir... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Curlygoth Posté(e) le 3 septembre 2019 Partager Posté(e) le 3 septembre 2019 c'est vrai que je ne vois pas la partie qui calcul tes dégrader pour chaque face ... tu n'as pas d'autres modules ? Mon site Web (en cours de construction) : Site DA-CODE de @didier Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicky Posté(e) le 4 septembre 2019 Auteur Partager Posté(e) le 4 septembre 2019 Salut Curlygoth, Déjà, merci de me répondre et de passer un peu de temps sur le sujet :) Non, il n'y a qu'un module (en réalité il y a 1 module et 11 forms). En fait, dans mon premier post je n'est pas copié le code en entier, seulement une partie car a la base je souhaiter savoir si les commandes SBar.SimpleText/CMD.Action/CMD.FileName... étaient toujours fonctionnelles dans les versions récentes d'AutoCAD (malgré le module VBA)... Bref, je joints ci dessous le liens des fichiers (qui me semble nécessaires au programmes). Je n'ai pas pris le temps de tout décortiquer pour essayer de comprendre chaque code, leur relation et utilité... J’espère que tu trouveras ce dont tu as besoin. Fichiers smartmap Lien vers le commentaire Partager sur d’autres sites More sharing options...
Curlygoth Posté(e) le 6 septembre 2019 Partager Posté(e) le 6 septembre 2019 Alors : Ce n'est pas du VBA mais à mon avis du .NET En gros c'esta avec Visual Studio qui pourra te permettre de voir les code dans les Form etc... j'ai pas tout ça sur moi XD SBar.SimpleText = Sbar doit avoir une propriété qui s'appelle SimpleTextCMD.Action = un évenement ???CMD.FileName = Renvoie le nom du fichier de l'objet CMD et donc ça ne marche pas car peut etre que c'est pas bien régler au niveau de version autocad ... regarde ici avec quel framework tu dois compiler pour tel ou tel version d'autocad... je sais pas si ça marchera apres mais bon faut essayer ^^http://cad.kerlom.fr/developpement_vb.php Mon site Web (en cours de construction) : Site DA-CODE de @didier Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicky Posté(e) le 8 septembre 2019 Auteur Partager Posté(e) le 8 septembre 2019 Ok ok merci. J'ai du mal a comprendre pourquoi il n'y a pas de compatibilité avec les versions les plus récente d'AutoCAD. Parce j'ai essayé avec AutoCAD 2008 et ça roule bien... Bref, merci pour les infos en tout cas, je vais essayer de fouiner encore un peu ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Olivier Eckmann Posté(e) le 9 septembre 2019 Partager Posté(e) le 9 septembre 2019 Bonjour, Si tu lis l'anglais, il y a cette discussion datant de 2014 sur la perte des contrôle OCX 32 bits depuis le passage à VBA 7 et les plates-formes 32/64bits (notamment le Common Dialog) avec du code permettant de gérer les cas 32 et 64 bits. Olivier Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant