XL 2019 Création des nouvelles feuille en VBA par rapport à une liste qui évolue

Optimal

XLDnaute Junior
Bonjour à tous.

J'ai une macro qui me permet de créer des feuilles par rapport à une liste :

Sub ajout_feuilles()
Dim nom As String, a As Range
For Each a In Range("liste")
nom = a.Value
If nom <> "" Then
Sheets.Add Count:=1, after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = nom

End If

Next a
End Sub

Si je rajoute des éléments dans ma liste comment faire pour vérifier si la feuille existe déjà et dans ce cas passer à la suite ?

Merci


Gilles
 
Solution
Bonjour Optimal
A tester:
VB:
Function feuille_existe(nom)
feuille_existe = False
On Error Resume Next
   Set s = Sheets(nom)
   If Err.Number = 0 Then feuille_existe = True
On Error GoTo 0
End Function
Sub ajout_feuilles()
Dim nom As String, a As Range
For Each a In Range("liste")
nom = a.Value
 If Not feuille_existe(nom) And nom <> "" Then
   Sheets.Add Count:=1, after:=Worksheets(Worksheets.Count)
   ActiveSheet.Name = nom
 End If
Next a
End Sub

pierrejean

XLDnaute Barbatruc
Bonjour Optimal
A tester:
VB:
Function feuille_existe(nom)
feuille_existe = False
On Error Resume Next
   Set s = Sheets(nom)
   If Err.Number = 0 Then feuille_existe = True
On Error GoTo 0
End Function
Sub ajout_feuilles()
Dim nom As String, a As Range
For Each a In Range("liste")
nom = a.Value
 If Not feuille_existe(nom) And nom <> "" Then
   Sheets.Add Count:=1, after:=Worksheets(Worksheets.Count)
   ActiveSheet.Name = nom
 End If
Next a
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 047
Messages
2 084 864
Membres
102 690
dernier inscrit
souleymaane