Bonjour à tous.
Pour une fois c'est à mon tour de poser une question.

J'ai créer une fonction de suppression qui supprime une feuille et une ligne dans lui faisant référence dans la première feuille du classeur.
Dans la première ligne de référence j'ai un bouton qui me permet d'aller directement a cette feuille que je dois donc également supprimer.
Je ne connais pas le nom du bouton puisque lui même est généré par code vba.

J'ai réussi a faire un code qui me permet bien de supprimer le bouton puis la ligne. Et qui fonctionne mais je me demande si il n'y as pas plus facile de pointer le bon bouton a supprimer.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Private Sub BnSupprimer_Click()
Sheets(CBPostes.Value).Visible = True
Sheets(CBPostes.Value).Unprotect
Sheets(CBPostes.Value).Delete
Dim derniereLigne As Integer
derniereLigne = Sheets(NomFeuillePrincipale).Range("A" & Rows.Count).End(xlUp).Row
Dim X As Integer
Dim Dico
Set Dico = CreateObject("Scripting.Dictionary")
For X = 5 To derniereLigne
    If Sheets(NomFeuillePrincipale).Range("A" & X).Value = CBPostes.Value Then
        Sheets(NomFeuillePrincipale).Unprotect
            Dim shp As Variant
                For Each shp In ActiveWorkbook.Sheets(NomFeuillePrincipale).Shapes
                    If Not Dico.exist(shp.TopLeftCell.Row) Then
                        Dico.Add shp.TopLeftCell.Row, shp.Name
                    End If
                Next
        Sheets(NomFeuillePrincipale).Shapes(Dico.Item(X)).Delete
        Sheets(NomFeuillePrincipale).Rows(X).Delete
        Sheets(NomFeuillePrincipale).Protect
        Exit For
    End If
 
Next
 
End Sub
C'est juste histoire d'optimiser.