Encoretoutpetit Posté(e) le 9 mai 2006 Posté(e) le 9 mai 2006 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 AcadSelectionSetDim I As IntegerDim j As IntegerDim TypeChêneau As IntegerDim BonCote As IntegerDim LigneUn(20) As VariantDim LigneDeux(20) As VariantDim LigneTrois(20) As VariantDim LigneQuatre(20) As Variant 'Création du jeu de sélectionSet MaSelection = ThisDrawing.SelectionSets.Add("A") 'Choix des entites à l'écranCall 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émoireThisDrawing.SelectionSets.Item("A").Delete End Sub
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