Annuler la creation d'un feuille

  • Auteur de la discussion cesar44
  • Date de début

cesar44

Nouveau membre
bonsoir a tous!

voila, j'ai créer une petite macro qui créer une nouvelle feuille excel en fonction de la valeur de la cellule A2
Seulement, je voudrais completer ma macro en disant que si la valeur de la cellule A2 est déja le nom d'une feuille, alors annuler la creation de la feuille et Msgbox("ce nom de feuille existe deja")!

pour le moment, j'en suis ici :

Sub toto()

Dim shtoto As Worksheet
Set shtoto = Sheets.Add(After:=Sheets(Sheets.Count))
Sheets("Listing essai").Select
shtoto.Name = Range("A2").Value

End Sub

merci d'avance
 

papamike62

Expert
Le mieux est de commencer par parcourir la collection de feuille pour voir si le nom est déjà utilisé. Ensuite seulement tu procède à la création. Voici ce que ça pourrait donner :

Function InsertSheet(ByVal SheetName As String)
Dim sheetCollection As Worksheet
Dim newSheet As Worksheet
Dim sheetExist As Boolean

For Each sheetCollection In ActiveWorkbook.Worksheets
If SheetName = sheetCollection.Name Then
sheetExist = True
End If
Next

If sheetExist Then
MsgBox ("La feuille existe déjà !")
Else
Set newSheet = ActiveWorkbook.Sheets.Add(After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count))
newSheet.Name = SheetName
End If

End Function


Si tu prévois de diffuser ta macro, prévois de filtrer les noms de feuilles. Certains caractères sont interdits par Excel.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 049
Membres
1 586 281
Dernier membre
moto45ktm
Partager cette page
Haut