[Résolu] comment effacer une sheet avec VB

Bonjour,

voila le problème, j'ai un fichier Excel qui comporte plusieurs sheets, sur une de celles-ci, j'ai un bouton qui me génere 3 sheets de plus et les positionnes au bon endroit. Lorsqu'on ouvre le fichier et que l'on clic sur le bouton, tout fonctionne, mais si on se renc compte d'un erreur, qu'on la corrige et qu'on re-clic sur le bouton, un erreur apparait disant que les sheets existent déjà. J'aimerais être capable de pouvoir les effacer avant de les créer!
voici une partie du code servant à créer les sheets:

Sub Template(Pg As Integer)

Sheets("Template").Select
Sheets("Template").Copy After:=Sheets("Checklist " & Pg - 1)
Sheets("Template (2)").Select
Sheets("Template (2)").Name = "Checklist " & Pg
Range("Q3") = Sheets("Checklist " & Pg).Index - 6
Sheets("Selection").Select

End Sub

merci beaucoup de votre aide!

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Exemple :

    Option Explicit
    
    Sub AjoutePage()
    
        Call Template(2)
    
    End Sub
    '
    
    Sub Template(Pg As Integer)
    
        Dim ws As Worksheet
        
    
        For Each ws In Worksheets
            If (ws.Name = "Checklist " & Pg) Then
                Application.DisplayAlerts = False
                ws.Delete
                Application.DisplayAlerts = True
            End If
        Next ws
    
        Sheets("Template").Select
        Sheets("Template").Copy After:=Sheets("Checklist " & Pg - 1)
        Sheets("Template (2)").Select
        Sheets("Template (2)").Name = "Checklist " & Pg
        Range("Q3") = Sheets("Checklist " & Pg).Index - 6
        Sheets("Selection").Select
    
    End Sub
    '
    


    Info
    1. wow, parfait, cela fonctionne à la merveille!....merci encore!
      1. re:

        s.v.p. Modifier votre titre en ajoutant la mention [ Résolu].

        Merci de votre collaboration.

        Info