[VBA] Détecter si 2 cercles se touche.

morest38

XLDnaute Nouveau
Bonjour à tous,
Malgré mes recherches je ne trouve pas de solution à mon problème. J'ai peur que ça ne soit pas réalisable sous excel.

Voilà, je dessine en vba un grand cercle dans lequel je viens insérer toujours pas vba de plus petit cercle qui doivent ne pas sortir du grand cercle. Pour cela j'ai besoin de trouver une fonction ou méthode permettant à excel de me renvoyer l'information. A savoir, si le petit cercle est en contact avec le grand cercle alors "vrai". Puis je peux dire facilement à excel de le supprimer.

Existe il un fonction pour cela? Comment puis je faire?

Merci d'avance pour tout aide.
@+
 

ODVJ

XLDnaute Impliqué
Re : [VBA] Détecter si 2 cercles se touche.

Bonsoir,

Si ton grand cercle a O pour centre et R pour rayon et le petit, O' et r, alors ils seront tangents si ||OO'||=R-r

Pour la suppression du petit cercle, ça dépend de la façon dont tu gères tes objets.

cordialement
 

morest38

XLDnaute Nouveau
Re : [VBA] Détecter si 2 cercles se touche.

Re-bonjour,

Je suis de nouveau bloqué. Je génère des cercles en fonction d'un alignement et à différentes hauteurs. Ces cercles ont tous un nom (type Small1, Small2, ...) et une fois la génération terminé je souhaite les grouper. La fonction pour grouper n'est pas le problème mais la définition de la plage à grouper qui est donc dynamique, oui.

Voici mon code que j'ai réaliser en fouillant le forum :
Code:
Sub SelectC()
Dim vntShapeName As Variant
Dim arrShapeName(1) As String
Dim myRange As ShapeRange
z = 7
For i = 1 To z
arrShapeName(i) = "Small" & i
Next
vntShapeName = arrShapeName
Set myRange = myDocument.Shapes.Range(vntShapeName)
ActiveSheet.Selection.ShapeRange.Group
End Sub

Je pense qu'il y a une erreur fondamentale.
Merci pour votre aide.
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 520
Messages
2 089 272
Membres
104 083
dernier inscrit
hecko