XL 2016 Erreur VBA Suppresion des onglets

  • Initiateur de la discussion Initiateur de la discussion sive91
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sive91

XLDnaute Junior
Bonjour,

je n'arrive pas a faire fonctionner mon code, j'ai une erreur
La methode Delete de la Classe Worksheet à echouée
l'erreur s'affiche sur Sheets(i).Delete

Voici le code

Private Sub CommandButton4_Click()
Dim s As Worksheet, t As String
Dim i As Long, K As Long
K = Sheets.Count

For i = K To 1 Step -1
t = Sheets(i).CodeName
If t = "Feuil1" Or t = "Feuil2" Then
Application.DisplayAlerts = False
Application.DisplayAlerts = True
Else
Application.DisplayAlerts = False
Sheets(i).Delete
Application.DisplayAlerts = True
End If
Next i
End Sub

Merci
 
Bonjour,
Probablement que Feuil1 ou feuil2 est la dernière feuille présente dans le classeur.
Une feuille doit rester présente dans un classeur.
Essaye comme ceci
Code:
Private Sub CommandButton1_Click()
Dim t As String
Dim i As Long
For i = Sheets.Count To 1 Step -1
  t = Sheets(i).CodeName
  If t = "Feuil1" Or t = "Feuil2" Then
    Application.DisplayAlerts = False
    On Error Resume Next
    Sheets(i).Delete
    Application.DisplayAlerts = True
    If Err <> 0 Then
      MsgBox "Suppression impossible" & vbLf & t & "(" & Sheets(i).Name & ") est la dernière feuille" & vbLf & "Une feuille doit rester visible dans un classeur", , "Information"
    End If
    On Error GoTo 0
  End If
Next i
End Sub



https://ensemblepoursacha.wordpress.com/
 
upload_2017-7-4_13-23-20.png


en effet il m'a viré egalement ma feuil1 et ma feuil2
 

Pièces jointes

  • upload_2017-7-4_13-22-52.png
    upload_2017-7-4_13-22-52.png
    257.5 KB · Affichages: 36
Bonjour,

Et comme ça...

Sub WksSupprime()
' objectif = supprimer les onglets hors Feuil1 et Feuil2
Dim i As Integer
Sheets("Feuil1").Select
On Error GoTo FIN
For Each ws In ActiveWorkbook.Sheets
Application.DisplayAlerts = False
If ws.Name = "Feuil1" Or ws.Name = "Feuil2" Then
Else: ws.Delete
End If
Next ws
FIN:
End Sub
 
J'ai du modifié ton code déclaré ws et aussi supprimer le select car j'avais une erreur sur Fin,
je vous colle le code et j'ai une erreur automation

upload_2017-7-4_13-36-33.png


Private Sub CommandButton4_Click()

' objectif = supprimer les onglets hors Feuil1 et Feuil2
Dim i As Integer
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Sheets
Application.DisplayAlerts = False
If ws.CodeName = "Feuil1" Or ws.CodeName = "Feuil2" Then
Else: ws.Delete
End If
Next ws
FIN:

End Sub

Merci
 
Euh Non Supprimer tous les onglet a part les onglets ayant pour CodeName Feuil1 et Feuil2 ^^
Re...
Alors ceci devrait ête suffisant
Code:
Private Sub CommandButton4_Click()
Dim Sh As Worksheet
Application.DisplayAlerts = False
For Each Sh In ThisWorkbook.Worksheets
     If Sh.CodeName <> "Feuil1" And Sh.CodeName <> "Feuil2" Then Sh.Delete
Next
Application.DisplayAlerts = True
End Sub



https://ensemblepoursacha.wordpress.com/
 
Bonjour,

ton fichier semble boiteux.
Feuil3 s'appelle "B M RICAMI SRL" mais dans vba on trouve "mr_B M RICAMI SRL".
Et impossible de la renommer et que ça suive pour vba. Enfin on peut forcer en passant par la fenêtre espion mais ça ne résous pas le pb.
Je crains que tu ne doives reconstruire dans un classeur neuf en copiant-collant les données des feuilles.
eric
 
Bonsoir merci eric pour ta réponse,
en effet tu a du remarquer que pour chaque feuille il existait une seconde feuille mr_
cela est généré automatiquement par mon logiciel de reporting, mais tu viens de me donner une idée j'ai oublié de dire de ne pas supprimer le mr_ de la feuill2 peut etre que.... je vais essayer
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
702
Réponses
10
Affichages
529
Réponses
5
Affichages
477
Réponses
5
Affichages
312
Réponses
4
Affichages
579
Retour