Supprimer une feuille

Bonjour,

J'ai un code qui me permet dans un userform de supprimer la feuille sélectionnée dans une listbox.

Cela fonctionne parfaitement.

A la fin de la suppression, je ferme l'userform et je le rouvre à la fin de la procédure pour mettre à jour la listbox

Ce code fonctionne mais que pour les feuilles nommées "Feuill1, Feuill14, Feuill46 => la feuille est supprimée et l'userform apparait avec la listbox à jour

mais ce code ne fonctionne pas pour des feuilles renommées : sept1, aout2 etc par ex

Voici ci dessous mon code de cette procédure

Pouvez vous svp m'aider

Je vous en serait très reconnaissant

Private Sub CommandButton1_Click() 'effacer feuille selectionnée
    nomf = ListBoxFeuilles.Value
    If nomf <> "2021" Then
        Sheets(nomf).Delete
        Unload UserMenuSal
    Else
        MsgBox "Vous ne pouvez pas supprimer la feuille 2021"
    End If
    Sheets("2021").Activate
    UserMenuSal.Show 0
End Sub

Je vous remercie

Cordialement

Bonjour,

Comme on ne sait pas ou ce trouve ta liste qui alimente La listebox difficile d'aider correctement.

Tu pourrais ajouter à l'ouverture du fichier une macro qui génère la liste des noms d'onglets.

Cette même macro pourrait être aussi ajoutée à la fin de ta propre macro pour actualiser la liste après suppression d'une feuille.

Sub listeonglets()
'
Dim i As Integer
With Sheets("Accueil")  'NOM DE LA FEUILLE QUI CONTIENDRA LA LISTE
.Activate

    Range("A1").Select   ' CELLULE A PARTIR DE LAQUELLE LA LISTE SERA CREEE

    For i = 1 To Sheets.Count
        ActiveCell.Value = Sheets(i).Name
        ActiveCell.Offset(1, 0).Select
    Next i

End With
End Sub

A adapter dans ta propre feuille à l'emplacement ou ce trouve ta liste actuelle.

Bonjour

Une question, est-ce que les feuilles que tu cites sept1, aout2 se trouvent dans la ListBox?

Crdlt

Les feuilles sont dans la listbox

voici mon code de l'userform et une capture d'ecran de l'userform et de la feuille 2021 en fond

Private Sub CommandButton1_Click() 'effacer feuille selectionnée
    nomf = ListBoxFeuilles.Value
    If nomf <> "2021" Then
        Sheets(nomf).Delete
        Unload UserMenuSal
    Else
        MsgBox "Vous ne pouvez pas supprimer la feuille 2021"
    End If
    Sheets("2021").Activate
    UserMenuSal.Show 0
End Sub

Private Sub Nvelle_feuille_Click() 'Dupliquer une feuille
ActiveSheet.Copy after:=Sheets("Conges")
Unload UserMenuSal
UserMenuSal.Show 0
End Sub

Private Sub OuvrirC_Click()
Sheets("Conges").Visible = True
Sheets("Conges").Activate
End Sub

Private Sub OuvrirF_Click() 'Ouvrir feuille sélectionnée
Worksheets(ListBoxFeuilles.Text).Visible = True
Sheets(ListBoxFeuilles.Text).Activate
End Sub

Private Sub UserForm_Initialize()
    ' supprimer liste des feuilles
    For j = ListBoxFeuilles.ListCount - 1 To 0 Step -1
        If ListBoxFeuilles.Selected(j) = True Then
        'on Supprime l'élément selectionné dans la ListBox.
        ListBoxFeuilles.RemoveItem (j)
        End If
    Next j
' insérer feuilles du classeur dans la liste
For Each sh In Worksheets
    If sh.Name <> "Conges" And sh.Name <> "vide" And sh.Name <> "Conges (2)" And sh.Name <> "Trame de base" And sh.Name <> "2021copie" Then
        Me.ListBoxFeuilles.AddItem sh.Name
    End If
Next

 OuvrirC.Caption = "Congés" & Chr(10) & " - " & Chr(10) & "Jours fériés" & Chr(10) & "et dimanches" & Chr(10) & "travaillés"
Nvelle_feuille.Caption = "Dupliquer" & Chr(10) & "la feuille active"
    Me.StartUpPosition = 0
    Me.Left = 1175
    Me.Top = 250
    Me.Show 0

End Sub
capture1

Je vous remercie

Explication plus précise :

Ce code fonctionne mais que pour les feuilles nommées "Feuill1, Feuill14, Feuill46 => la feuille est supprimée et l'userform apparait avec la listbox à jour

mais ce code ne fonctionne pas pour des feuilles renommées : sept1, aout2 etc par ex

=> la feuille est bien supprimée mais l'userform n'apparait plus

Bonjour,

Auriez vous svp une idée pourquoi l'userform apparait comme prévu quand je clique sur le bouton supprimer pour efface des feuilles nommées : feuill1, feuill12...

et que l'userform n'apparaît plus quand je supprime des feuilles qui ont été renommées ?

Je vous remercie

Coridalement

Bonjour

Peux tu nous joindre une copie de ton fichier avec 4à 5 lignes bidons

crdlt

7test1.zip (142.15 Ko)
Rechercher des sujets similaires à "supprimer feuille"