VBA Condition : Si une feuille portant le nom d'une cellule exis
simplyizi
-
simplyizi -
simplyizi -
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
Merci à ceux qui prendront le temps de m'aider
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
-
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/