Supprimer feuilles d'un fichier excel en fonction de la sélection vba
Bonjour,
Je souhaiterais pouvoir supprimer les feuilles que j'ai sélectionné dans mon userform dont voici le code :
Cela ne fonctionne pas correctement. Il y a un décalage entre les feuilles sélectionnées et les feuilles supprimées.
Merci d'avance
Code:
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 28 29 30 31 32 33 34
| Sub UserForm_Initialize()
'--- Déclaration des variables
Dim Feuille As Worksheet
'--- Génération de la liste des onglets
With ListBox1
.MultiSelect = fmMultiSelectExtended
.Clear
For Each Feuille In Sheets
.AddItem Feuille.Name
Next
End With
End Sub
'Action quand on clique sur le Bouton
Private Sub CommandButton2_Click()
'--- Déclaration des variables
Dim i As Integer
Dim Feuille() As Variant
Dim NbFeuille As Integer
'--- Impression des onglets sélectionnés
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then
ReDim Preserve Feuille(NbFeuille)
Feuille(NbFeuille) = .List(i)
NbFeuille = NbFeuille + 1
Application.DisplayAlerts = False
Sheets(i).Delete
End If
Next i
Unload Me
End Sub |