Dim f
Private Sub UserForm_Initialize()
Set f = Sheets("feuil1")
For Each c In f.Shapes
If c.Type = 6 Then
Me.ComboBox1.AddItem c.Name
Me.ComboBox2.AddItem c.Name
End If
Next c
End Sub
Private Sub B_connext_Click()
groupe1 = Me.ComboBox1
groupe2 = Me.ComboBox2
nomShape1 = Rectangle(f, groupe1)
nomShape2 = Rectangle(f, groupe2)
nomCnn = "cnn" & groupe1 & groupe2
f.Shapes.AddConnector(msoConnectorElbow, 10, 10, 10, 10).Name = nomCnn
If ligne(f, groupe2) > ligne(f, groupe1) Then typeCnn1 = 3: typeCnn2 = 1 Else typeCnn1 = 1: typeCnn2 = 3
f.Shapes(nomCnn).ConnectorFormat.BeginConnect f.Shapes(nomShape1), typeCnn1
f.Shapes(nomCnn).ConnectorFormat.EndConnect f.Shapes(nomShape2), typeCnn2
End Sub
Private Sub B_sup_cnn_Click()
On Error Resume Next
groupe1 = Me.ComboBox1
groupe2 = Me.ComboBox2
nomShape1 = Rectangle(f, groupe1)
nomShape2 = Rectangle(f, groupe2)
nomCnn = "cnn" & groupe1 & groupe2
f.Shapes.Range(Array(nomCnn)).Delete
End Sub
Function Rectangle(f, nomGroupe)
For i = 1 To f.Shapes(nomGroupe).GroupItems.Count
If f.Shapes(nomGroupe).GroupItems(i).Type = 1 Then
Rectangle = f.Shapes(nomGroupe).GroupItems(i).Name
End If
Next i
End Function
Function ligne(f, nomGroupe)
ligne = Range(f.Shapes(nomGroupe).TopLeftCell.Address).Row
End Function