Tester la présence d'une feuille

B

Bat

Guest
Re Bonjour à tous

Ma question est la suivante!

Quel est le code VBA qui me permettrai de vérifier la présence d'une fuille dans un classeur.

En fait le nom de la feuille à tester est en cellule A65!

Merci de vos conseils !!
 

myDearFriend!

XLDnaute Barbatruc
Bonjour Bat,

Tu peux essayer la fonction personnalisée suivante :
Sub Test()
Dim NF As String
      NF = ActiveSheet.Range('A65').Value
      MsgBox 'La feuille ' & NF & IIf(FeuilleExiste(NF), ' existe', ' n'existe pas')
End Sub

Function FeuilleExiste(NF As String) As Boolean
Dim
F As Worksheet
        On Error Resume Next
        Set F = Worksheets(NF)
        On Error GoTo 0
        FeuilleExiste = Not F Is Nothing
End Function
Cordialement,
 

anuky

XLDnaute Occasionnel
Bonjour Bat,

voici un bout de code pour résoudre ton problème :


Dim iii As Integer

'Nom de la feuille
rep = activeworkbook.sheets('tafeuille').Range('A65')

'Vérifie que le nom saisi ne correpond pas a une feuille déjà existante
For iii = 1 To Sheets.Count
If rep = Worksheets(iii).Name Then
MsgBox 'Une feuille portant le même nom existe déjà.', vbOKOnly Or vbInformation, 'Saisie Incorrecte'
Exit Sub
Exit For
End If
Next iii

'si cellulevide alors messagebox, sinon ajoute une feuille partant le nom de la cellule
If rep = '' Then

MsgBox 'Pour exécuter cette macro, vous devez saisir un nom', vbOKOnly Or vbInformation, 'vous n'avez pas saisi de nom'

Else
Sheets.Add.Name = rep
EndIf


je n'ai pas vérifié le code mais en gros c'est quelque chose dans ce genre.

a+
 

anuky

XLDnaute Occasionnel
bonjour bascal et tous les utilisateurs du forum,

Merci pour ta remarque très judicieuse

tu as raison, j'avais la tête ailleur, c'est surment le fait de travailler un jour de pont avec personne au boulot, c'est déprimant et ça fait écrire des baitises.
 

Discussions similaires

Réponses
22
Affichages
800

Statistiques des forums

Discussions
312 763
Messages
2 091 848
Membres
105 077
dernier inscrit
Airnee