Aller au contenu

EXTRAIRE ATTRIBUT VERS FICHIER EXCEL


FRAXA

Messages recommandés

Bonjour à tous,

Est-il possible d'extraire les attributs de blocs vers un fichier excel qui a une présentation bien définie ( logo, espace, etc...)?

Explication, d'un côté j'ai des fichiers excels remplis manuellement donnant des renseignements sur des appareils, de l'autre j'ai des "vieux" schémas dwg à remettre à jour.

Dans un premier temps j'ai vais supprimer tous les blocs pour les remplacer par des blocs avec attributs.

Dans un second temps, j'aimerais exporter les attributs vers des fichiers excels pour pouvoir les comparer avec les "anciens fichiers excel".

 

J'espère avoir été clair.

 

HPZ400 Workstation

Intel Xeon W3550 3.07 GHz

6 Go ram

QUADRO FX 1800

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

 

Cette commande est DISPO dans les versions pleines d'AutoCAD

depuis la version 2002 mais il semblerait que beaucoup de gens

ne la connaissent pas ! :o

 

Peut etre parce que le titre de la commande est: Extraire les attributs ...

et NON PAS: Extraire les blocs (avec ou sans Attributs)

 

Et les gens peuvent penser que cela ne concerne que les blocs avec attributs ! :(

 

Le Decapode

 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

je connaissais la commande mais c'est la mise en page qui m'embête et à première vue le fichier gabarit d'extraction ne permet pas de prédifinir la mise en page dans excel, n'est-ce pas?

HPZ400 Workstation

Intel Xeon W3550 3.07 GHz

6 Go ram

QUADRO FX 1800

Lien vers le commentaire
Partager sur d’autres sites

Il suffit de créer une Macro dans un fichier EXCEL ! J' utilise celà très souvent !

 

Les étapes seraient :

 

1. Ouverture du fichier d' extraction (.TXT)

2. Traitement du fichier avec mise en forme, TRI, Sous-Totaux, etc.

3. Copier-Coller vers un fichier type

4. Enregistrer le résultat sous...

 

Tu as les devoirs de vacances [surligneur] N° 1 [/surligneur] et [surligneur] N° 2 [/surligneur]sur les Quantitatif et Métrés à parcourir !

 

Christian

 

[Edité le 18/2/2006 par rebcao]

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

Merci Rebcao et désolé pour le retard de la réponse, mais j'ai eu autre chose à faire.

Par contre j'ai un petit souci en ce qui concerne les sous totaux, j'aimerai faire des sous totaux par rapport aux blocs et également par rapport aux changements d'attributs.

 

HPZ400 Workstation

Intel Xeon W3550 3.07 GHz

6 Go ram

QUADRO FX 1800

Lien vers le commentaire
Partager sur d’autres sites

Je reviens à la charge, j'ai utilisé la commande eattext et j' ai créé un fichier gabarit blk pour extraire des blocs avec 2 attibuts bien précis. Je pensais quand utilisant ce gabarit eattext m'extrairait que les blocs avec ces2 attributs, et bien non il fait une extraction de tous les blocs. Pourquoi?

Le fichier blk ne donne t-il pas les "priopriétés" que doivent respecter les blocs pour être extrais ?

HPZ400 Workstation

Intel Xeon W3550 3.07 GHz

6 Go ram

QUADRO FX 1800

Lien vers le commentaire
Partager sur d’autres sites

salut,

 

mois aussi j'avais ce problème mais j'ai un programme qui fait ce boulot il cherche dans le fichier tous les attributs et les renvoi sur excel mais là enfait j'ai fait un autre programme qui me dépose chaque information dans l'endroit bien définit

 

le voila le programme extraction d'attribut

'Extraction d'attributs vers Excel
'
' Note: Ce programme est basé sur la version française d'Excel
'  Pour la version anglaise,
'  on remplacera l'expression 'Feuil1' par 'Sheet1'

Sub Extraction()
 ' ---------------------------------------------------
 'Section 1. Variables requises.
 ' ---------------------------------------------------
 Dim Excel As Object
 Dim Feuille As Object
 Dim Rangee As Integer
 Dim Matrice As Variant
 Dim Compte As Integer
 Dim Selection As AcadSelectionSet

 ' ---------------------------------------------------
 'Section 2. Démarrage d'Excel (S'il n'est pas ouvert).
 ' ---------------------------------------------------
 On Error Resume Next
 Set Excel = GetObject(, "Excel.Application")
 If Err <> 0 Then
   Err.Clear
   Set Excel = CreateObject("Excel.Application")
   If Err <> 0 Then
     MsgBox "La macro n'a pu ouvrir Excel!", vbExclamation
     End
   End If
 End If
 On Error GoTo 0
 ' ---------------------------------------------------
 'Section 3. Préparer Excel pour recevoir les données.
 ' ---------------------------------------------------
 Excel.Visible = True
  Excel.Workbooks.Open Filename:="C:\le nom du fichier excel .xls"
 'Excel.Workbooks.Add
  Excel.Sheets.Add
 Excel.Sheets("Feuil1").Select
 Set Feuille = Excel.ActiveWorkbook.Sheets("Feuil1")
 Feuille.Name = "choisie un nom pour ta feuille"
 Excel.ActiveWorkbook.Sheets("FL").Activate
 ' ---------------------------------------------------
 'Section 4. Sélection du bloc spécifié.
 ' ---------------------------------------------------
 Dim EnTete As Boolean
 Rangee = 1
 EnTete = False
 If selection_existe("TEMP") Then
 Set Selection = ThisDrawing.SelectionSets("TEMP")
 Selection.Clear
 Else
 Set Selection = ThisDrawing.SelectionSets.Add("TEMP")
 End If
 
 
 Dim Point1(2) As Double
 Dim Point2(2) As Double
 Dim Codes(1) As Integer
 Dim Valeurs(1) As Variant
 Point1(0) = 0#:  Point1(1) = 0#:  Point1(2) = 0#
 Point2(0) = 0#:  Point2(1) = 0#:  Point2(2) = 0#
 
 ' On recherche le bloc "................le nom de ton bloc......"
 
 Codes(0) = 0:  Valeurs(0) = "INSERT"
 Codes(1) = 2:  Valeurs(1) = " le nom de ton bloc"
 
 Selection.Select acSelectionSetAll, Point1, Point2, Codes, Valeurs
 ' ---------------------------------------------------
 'Section 4. Extraction des attributs.
 ' Le premier bloc fournit les noms d'attributs (TAG)
 ' ---------------------------------------------------
 Dim Entite As AcadBlockReference

 For Each Entite In Selection
   Matrice = Entite.GetAttributes
     If EnTete = False Then
       For Compte = LBound(Matrice) To UBound(Matrice)
         If StrComp(Matrice(Compte).EntityName, "AcDbAttribute", 1) = 0 Then
           Feuille.Cells(Rangee, Compte + 1).Value = Matrice(Compte).TagString
         End If
       Next Compte
     End If
     Rangee = Rangee + 1
     
     For Compte = LBound(Matrice) To UBound(Matrice)
       Feuille.Cells(Rangee, Compte + 1).Value = Matrice(Compte).TextString
     Next Compte
   EnTete = True
   
   
 Next
  
       
        ' ---------------------------------------------------
 'Section 5. Fermeture (Laissant Excel ouvert)
 ' ---------------------------------------------------
 Set Feuille = Nothing
 Selection.Delete
End Sub
        ' ---------------------------------------------------
 'Section 6. effacer la selection "TEMP"
   ' ---------------------------------------------------
   
Public Function selection_existe(strnom As String) As Boolean
Dim control As Boolean
control = False
On Error Resume Next
Set objselection = ThisDrawing.SelectionSets(strnom)
If Err Then
Err.Clear
 Set objselection = ThisDrawing.SelectionSets.Add(strnom)
If Not Err Then control = True
Else
control = True
End If
selection_existe = control
End Function

 

j'espère que ça va t'aider ce programme

 

Lien vers le commentaire
Partager sur d’autres sites

  • 3 ans aprè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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité