Sub delete()
Dim Shp As Shape
Dim C As Range, DerLig As Long
DerLig = [A65536].End(xlUp).Row
For Each C In Range("A2:A" & DerLig)
If Range("B" & C.Row) = "" Then
ActiveSheet.Shapes("Ellipse " & C.Row - 1).delete
End If
Next
End Sub
Sub delete()
Dim Shp As Shape
Dim C As Range, DerLig As Long
DerLig = [A65536].End(xlUp).Row
For Each C In Range("A2:A" & DerLig)
ActiveSheet.Shapes("Ellipse " & C.Row - 1).Visible = Range("A" & C.Row) <> ""
Next
End Sub
Edit:Edit: petite précision: le chiffre indiqué à la fin du nom de l'ellipse a un lien direct avec la ligne sur laquelle elle se trouve.
Exemple:
"ellipse 1" doit se trouver sur la ligne 2.
"ellipse 2" doit se trouver sur la ligne 3.
etc...
Sub delete()
Dim Shp As Shape
Dim C As Range, DerLig As Long
DerLig = [A65536].End(xlUp).Row
For Each C In Range("A2:A" & DerLig)
For Each Shp In ActiveSheet.Shapes
If Shp.TopLeftCell.Row = C.Row Then Shp.Visible = Range("A" & C.Row) <> ""
Next
Next
End Sub
DerLig = [A65536].End(xlUp).Row
For Each C In Range("J6:J22" & DerLig)
For Each C In Range("J6:J" & DerLig)
Sub copie()
Sub copie()
Dim Shp As Object
For Each Shp In ActiveSheet.Shapes
If Shp.Visible = True And Shp.Name Like "Oval*" Then
Shp.Copy
Sheets("Feuil2").Activate
Cells(x + 10, 1).Select
Sheets("Feuil2").Paste
x = x + 1
End If
Next
End Sub