Se connecter avec
S'enregistrer | Connectez-vous

Annuler la creation d'un feuille

Dernière réponse : dans Programmation

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

Autres pages sur : annuler creation feuille

Lassé par la pub ? Créez un compte

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.
Lassé par la pub ? Créez un compte