VBA Condition : Si une feuille portant le nom d'une cellule exis

Fermé
simplyizi - Modifié par simplyizi le 28/07/2016 à 09:12
 simplyizi - 28 juil. 2016 à 13:47
Bonjour,
Je dispose d'une fichier qui créé une nouvelle feuille avec le nom contenu dans la cellule E5 de la feuille saisie lorsque j'appuie sur un bouton.
Je voudrais une macro capable d'interdire la création d'une nouvelle feuille qui a déjà le nom inscrit dans la cellule E5.
Par exemple si dans mon classeur j'ai déjà une feuille nommée 12345 , et que dans ma cellule E5 je rentre 12345 et j'appuie sur le bouton OK, qu'il me mette un msgbox et un exit Sub.

J'ai déjà essayé les deux macros suivantes et cela ne marche pas


    Dim i As Integer
For i = 1 To Worksheets.Count
If Worksheets(i).Name = Sheets("Saisie").Range("E5").Content Then
MsgBox "Mettre '-2' a la fin du numero d'essai ! "
Exit Sub
End If
Next i


Dim Sh As Variant

For Each Sh In Worksheets
If Sheets("Saisie").Range("E5").Content = Sh.Name Then
MsgBox "Mettre '-2' a la fin du numero d'essai ! "
End If
Next
Exit Sub



Merci à ceux qui prendront le temps de m'aider

3 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
28 juil. 2016 à 09:28
Bonjour,

Avec une fonction booléenne et le gestionnaire d'erreur :
Function FeuilleExiste(wk As Workbook, stFeuille As String) As Boolean
 On Error Resume Next
 FeuilleExiste = Not (wk.Sheets(stFeuille) Is Nothing)
End Function

cf : https://www.developpez.net/forums/d269391/logiciels/microsoft-office/excel/macros-vba-excel/vba-e-feuille-existe/
1
Bonjour, déjà essayé et cela ne marche pas. J'ai déjà parcouru tous les forums qui proposaient une solution et aucune ne marche, c'est pour cela que je suis venu demander de l'aide ici
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743 > simplyizi
28 juil. 2016 à 09:43
Quel est ton code d'appel de cette fonction?
0