sam2009 Posté(e) le 27 octobre 2009 Posté(e) le 27 octobre 2009 Svp J’ai besoin d’une routine qui peut me selectionner tous les blocs qui existe dans mon dessin courant on les affectant à une variable . j'ai fait ça mais il ne selectionne que le bloc que je ai demadé quand je veux utiliser "acselectionsetall" ça marche pas merci en avance de votre aide voilà le petit programme qui me cherche un seule bloc dans tout le dessin !! ‘ 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 FICHIER Codes(0) = 0: Valeurs(0) = "INSERT" Codes(1) = 2: Valeurs(1) = " FICHIER" Selection.Select acSelectionSetAll, Point1, Point2, Codes, Valeurs
Invité Patrick Posté(e) le 27 octobre 2009 Posté(e) le 27 octobre 2009 Ne précise pas les points si tu veux sélectionner dans tout le dessin: Selection.Select acSelectionSetAll, , , Codes, Valeurs
sam2009 Posté(e) le 27 octobre 2009 Auteur Posté(e) le 27 octobre 2009 merci Patrick je vais tester mnt !
sam2009 Posté(e) le 27 octobre 2009 Auteur Posté(e) le 27 octobre 2009 je ne sais pas pourquoi il ce plante qand il arrive à ça : "Dim Entite As AcadBlockReference" stp voilà le programme le but est de selectionner tout les attributs qui ce trouve dans le dessin courant et les mettre dans "temp" pour les réutilisés après merci infinnement pour votre aide si précieuse ! ' --------------------------------------------------- 'Section 4. Sélection du dessin en cours ' --------------------------------------------------- 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 Selection.Select acSelectionSetAll, Codes, Valeurs ' --------------------------------------------------- 'Section 4. Extraction des attributs. ' --------------------------------------------------- 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 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
sam2009 Posté(e) le 27 octobre 2009 Auteur Posté(e) le 27 octobre 2009 alors, personne ne peux m'aider ? :(
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