[VBA] Application VBA Excel vers Autocad [Résolu]

- - Dernière réponse :  mattbboys - 18 janv. 2013 à 13:42
Bonjour,

Je viens de débuter en VBA, et je dois réaliser une application capable de transférer des infos contenue dans Excel vers Autocad à des points de coordonnées x et y choisis (en l’occurrence les entrées/sorties automates).

J'ai débuté mon programme par un module qui ouvre les logiciels et les fichiers que l'on désire modifier. J'ai ensuite fais un code qui permet à l'utilisateur de choisir les différents paramètres qu'il souhaite implanter dans Autocad.

Mais je bloque sur la suite... Il faudrait que je fasse un code qui positionne tel paramètre contenu dans Excel à tel coordonnée sur Autocad, donc une boucle.

Évidemment je ne souhaite "pas forcement" que l'on me ponde le code mais au moins avoir quelques pistes sérieuses car on trouve de tout sur le net.

Quelle(s) fonction(s) permet le transfert vers des coordonnées exactes?
Est-ce que j'ai oublié ou sauté une étape de codage ou suis-je bien parti?
Quelle type de boucle dois-je utilisé pour que le programme passe en revue toutes les cellules?

Je vous remercie d'avance.

PS: J'utilise Autocad2007 et le module Microsoft Visual Basic contenu Access 2007 avec un projet en .dvb
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61
3
Merci
Salut

Hélas, les objets Autocad nous sont étrangers.
Difficile donc de te dire comment pratiquer.
Même si c'est du VBA qui est utilisé, il faut connaitre l'arborescence des objets dans un document Autocad pour savoir comment les parcourir et trouver le bon endroit d'insertion.

Ce que je peux te dire, c'est que cela ressemblera à quelque chose du genre de la gestion des Shapes sous Excel :
    Dim monShape As Shape
    For Each monShape In ActiveSheet.Shapes
        MsgBox monShape.Name
    Next
Il te faut connaitre le nom de la collection des objets, puis énumérer les objets et les tester avec leur propriétés et méthodes. Mais là, ce sont des infos propres à Autocad.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61
3
Merci
L'exemple du Shape sous Excel est un dessin genre trait graphique, flèche, bulle d'annotation, bref, tout ce qui peut être graphique et ajouté sur une feuille indépendamment des cellules.
Pour les objets de Office, en général, les collections portent le même nom que les objets, mais avec un 'S' final (la collection Shapes contient des objets de type Shape).
J'espère pour toi que Autocad aura eu la même idée; cela simplifie la compréhension/recherche.

"Où est-ce que je peux trouver le nom de la collec' AutoCAD"
Dans la doc du logiciel. S'il est bien fait, il doit y avoir une aide accessible par la touche F1.

As-tu fais une recherche :
- des codes disponibles sur vbFrance avec une simple recherche du mot Autocad ?
Pour info, les fichiers BAS, FRM ou BAS de VB6 sont lisibles avec NotePad.
- des questions du forum avec ce même mot
Tu y trouveras surement des informations précieuses.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
0
Merci
Salut :)

Tout d'abord merci à toi jack pour ta réponse !

J'ai quelques questions par rapport à ce que tu me dis:

Peux tu me préciser ce qu'est un Shape (type de variable qui se rapport à une collection d'objet?)

Où est-ce que je peux trouver le nom de la collec' AutoCAD comme tu me le suggère?

Pour l'insertion j'ai trouvé quelques codes qui insert du texte à une position (x,y) mais créer le vrai lien entre les deux logiciels est encore abstrait pour moi...

D'avance merci !
Commenter la réponse de mattbboys
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61
0
Merci
PS : quand je parle de l'aide et de la touche F1, je parle bien sûr de l'éditeur de code à l'intérieur de Autocad, pas de Excel.
Commenter la réponse de cs_Jack
0
Merci
Merci pour tes explications, j'y vois déjà plus clair!

Pour les recherches, oui bien sur mais bien souvent les codes distribués sont différent de mon objectif (même si quelque débuts de code correspondent).

Je reviendrais poster si j'ai d'autres blocages dans ce projet (et ça va arriver).

Encore merci et si on peut encore le dire: bonne année !
Commenter la réponse de mattbboys
0
Merci
Bonjour,

Je tombe sur un nouveau problème, bien précis cette fois-ci.
Je réalise ma macro directement sur Autocad qui propose Visual Basic en outils.
J'aimerais ajouter dans la fenêtre Project, un module "This Workbook" qui correspond à un classeur Excel.

Après multiples recherches je n'ai pas trouvé la solution qui fonctionne.

Help!

Bon week end
Commenter la réponse de mattbboys