Aller au contenu

Messages recommandés

Posté(e)

Bonjour cadxpienpiennes.

 

J'ai tenté le code code ci-dessous, il fonctionne très bien (à mon gout), mais pour ça j'ai été obligé de rajouter "(0)" dans les 4 lignes de code ou j'efface les LigneUn, LigneDeux, LigneTrois et LignesQuatre.

Si ce (0) correspond à un tableau, pourquoi la valeur 0 alors ?

Si quelqu'un peu éclairer ma comprenette (petite machine à comprendre située la-haut juste sous les cheveux !!!)

Merci d'avance.

 

Public Sub Cheneau()

 

'L 'opérateur sélectionne la polyligne correspondant à l'intérieur du chêneau,

'la macro construit les lignes extérieures du chêneau classique ou du coffre.

 

Dim MaSelection As AcadSelectionSet

Dim I As Integer

Dim j As Integer

Dim TypeChêneau As Integer

Dim BonCote As Integer

Dim LigneUn(20) As Variant

Dim LigneDeux(20) As Variant

Dim LigneTrois(20) As Variant

Dim LigneQuatre(20) As Variant

 

'Création du jeu de sélection

Set MaSelection = ThisDrawing.SelectionSets.Add("A")

 

'Choix des entites à l'écran

Call MaSelection.SelectOnScreen

 

TypeChêneau = MsgBox("Sagit-il du chêneau classique ?", vbYesNo + vbCritical + vbDefaultButton1, "Type de chêneau")

 

If TypeChêneau = vbYes Then

For I = 1 To MaSelection.Count

LigneUn(I - 1) = MaSelection.Item(I - 1).Offset(43.5)

LigneDeux(I - 1) = MaSelection.Item(I - 1).Offset(52.5)

LigneTrois(I - 1) = MaSelection.Item(I - 1).Offset(110)

LigneQuatre(I - 1) = MaSelection.Item(I - 1).Offset(217.8)

Next I

 

Else

For I = 1 To MaSelection.Count

LigneUn(I - 1) = MaSelection.Item(I - 1).Offset(52.5)

LigneDeux(I - 1) = MaSelection.Item(I - 1).Offset(110)

LigneTrois(I - 1) = MaSelection.Item(I - 1).Offset(278)

LigneQuatre(I - 1) = MaSelection.Item(I - 1).Offset(336)

Next I

End If

 

ThisDrawing.Regen acActiveViewport 'pour visualiser le dessin avant interrogation.

 

BonCote = MsgBox("Le chêneau est-il dessiné du bon côté ?", vbYesNo + vbInformation + vbDefaultButton1, "Validation")

 

If BonCote = vbNo Then

For I = 1 To MaSelection.Count

LigneUn(I - 1)(0).Erase

LigneDeux(I - 1)(0).Erase

LigneTrois(I - 1)(0).Erase

LigneQuatre(I - 1)(0).Erase

If TypeChêneau = vbYes Then

For j = 1 To MaSelection.Count

LigneUn(I - 1) = MaSelection.Item(I - 1).Offset(-43.5)

LigneDeux(I - 1) = MaSelection.Item(I - 1).Offset(-52.5)

LigneTrois(I - 1) = MaSelection.Item(I - 1).Offset(-110)

LigneQuatre(I - 1) = MaSelection.Item(I - 1).Offset(-217.8)

Next j

Else

For j = 1 To MaSelection.Count

LigneUn(I - 1) = MaSelection.Item(I - 1).Offset(-52.5)

LigneDeux(I - 1) = MaSelection.Item(I - 1).Offset(-110)

LigneTrois(I - 1) = MaSelection.Item(I - 1).Offset(-278)

LigneQuatre(I - 1) = MaSelection.Item(I - 1).Offset(-336)

Next j

End If

Next I

End If

 

 

'Pour supprimer le jeu de sélection de la mémoire

ThisDrawing.SelectionSets.Item("A").Delete

 

End Sub

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é