XL 2010 Ignorer ou Supprimer feuille nom variable

Sarnia

XLDnaute Nouveau
Bonjour,

Dans la feuille Dossiers j'ai une liste de numéros en colonne A. Cette liste provient d'une listbox.
A partir de la liste, je crée des onglets portant les noms de chaque cellule.

Le problème que j'ai est que si je refais appel à la listbox pour sélectionner d'autres éléments et que par erreur je resélectionne un numéro déjà présent dans la liste colonne A, j'obtiens une erreur car l'onglet existe déjà. Normal.

Je n'arrive pas à trouver le code qui dit si l'onglet existe déjà, ignore cet élément de la liste des onglets à créer.
J'ai aussi tenté de dire s'il l'onglet existe, supprime-le mais j'ai une erreur d'exécution 424.

Pouvez-vous m'aider ?

Merci d'avance
 

Pièces jointes

  • Dossiers XLD.xlsm
    16.9 KB · Affichages: 7

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, Sarnia

=>Sarnia
[Moment Recyclerie]
Issu d'une de mes réponses
(avec la poussière de 2008 incluse ;))
[/Moment Recyclerie]
 

Sarnia

XLDnaute Nouveau
Bonjour Staple1600,

Merci pour la réponse.
j'ai mis ce code mais cela ne fonctionne pas. J'ai une erreur 1004 : Impossible de renommer une feuille comme une autre feuille.

Sub ListeOnglets() Dim C For Each C In Columns(1).SpecialCells(xlCellTypeConstants, 23) If FeuilleExiste("C") Then Sheets(C).Delete Sheets.Add(after:=ActiveSheet).Name = C Next End Sub Public Function FeuilleExiste(sNomFeuille As String) As Boolean On Error GoTo Err_FeuilleExiste FeuilleExiste = False FeuilleExiste = Not ActiveWorkbook.Worksheets(sNomFeuille) Is Nothing Err_FeuilleExiste: End Function
 

Staple1600

XLDnaute Barbatruc
Re

Et comme ceci c'est plus mieux?
VB:
Sub ListeOnglets()
Dim C As Range
For Each C In Columns(1).SpecialCells(xlCellTypeConstants, 23)
    If Not FeuilleExiste(C.Text) Then
    Sheets.Add(after:=Sheets(Sheets.Count)).Name = C
     Else
    Application.DisplayAlerts = False
    Sheets(C.Text).Delete
    Application.DisplayAlerts = True
    End If
Next
End Sub
Public Function FeuilleExiste(sNomFeuille As String) As Boolean
On Error GoTo Err_FeuilleExiste
FeuilleExiste = False
FeuilleExiste = Not ActiveWorkbook.Worksheets(sNomFeuille) Is Nothing
Err_FeuilleExiste:
End Function
 

Sarnia

XLDnaute Nouveau
Nickel !
Je te remercie pour ton aide.

Bonne soirée

Edit:
Pour recréer la feuille supprimée dont j'ai quand même besoin, J'ai juste rajouté après Sheets(C.Text).Delete
Sheets.Add(after:=Sheets(Sheets.Count)).Name = C
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 347
Messages
2 087 500
Membres
103 563
dernier inscrit
samyezzehar