Test d'existence de feuille

Bonjour

Quelqu'un de ce forum m'a gentiment écrit cette macro pour tester si une feuille existe.

>>>>

Function Feuille_Existence(Label As String) As Boolean

Dim Feuille As Worksheet

Feuille_Existence = False

For Each Feuille In ActiveWorkbook.Worksheets

If Feuille.Name = Label Then

Feuille_Existence = True

Exit Function

End If

Next

MsgBox "La feuille " & Label & " n'existe pas."

End Function

>>>

Elle marche très bien si j'appelle par exemple feuille_existence("données") ou feuille_existence (Cellule.value) e n sachant que dans la cellule, il y a le nom de la feuille.

Mais cela ne marche pas si je veut tester une feuille par son NOM (interne) du style Feuil2 etc ..

Comment faire ?

Merci

salut

ce que tu appelles nom interne c'est le codename ?

si oui tu peux tester ce nom à l'aide de la propriété codename, comme ceci :

If Feuille.Name = Label or feuille.codename=..... Then

a plus

Bonsoir le fil,

Celui qui t'a pondu ce code de vérification d'existence de feuille, n'a pas dû travailler avec de gros classeurs

Boucler sur toutes les feuilles n'est vraiment pas judicieux

Voici un code ultra rapide

Function FeuilleExiste(sNom As String) As Boolean
  Dim ValTest As Variant
  ' En cas d'erreur on continue
  On Error Resume Next
  ' Récupérer une pseudo valeur dans la feuille
  ValTest = Sheets(sNom).Range("A1").Value
  ' Vérifier si un code erreur est retourné
  If Err.Number <> 0 Then
    FeuilleExiste = False
    MsgBox "La feuille " & sNom & " n'existe pas."
  Else
    FeuilleExiste = True
  End If
  ' Suivi des erreurs normal
  On Error GoTo 0
End Function

Pourquoi tester l'existence d'une feuille par son nom dans le projet VBA !?

C'est source d'erreur et d'ennuis par la suite

A+

Merci

Celui qui a fait cette function a eu la gentillesse de la faire.. comme toi tu as la gentillesse de me proposer les tiennes..

En fait, mon problème est que je ne connais pas le libellé exact et final du nom des feuilles, et je suis en train de travailler sur deux pistes, car je ne veux pas avoir à reprendre tout le code :

*Soit bosser avec les CodeName

*Soit travailler avec des noms de feuilles contenues dans des cellules

Donc comme je ne sais pas encore ce qui va marcher, j’essaye de couvrir toutes les possibilités.

Comment ca se passerai si je voulais testersur les codename ?

Merci

Re,

Tester le nom des feuilles sur le codename est une folie

Un exemple simple et concret, tu ouvres un nouveau classeur avec 3 feuilles ou plus, par exemple,

1ère feuille : Codename = Feuil1 - Name = Feuil1

2ème feuille : Codename = Feuil2 - Name = Feuil2

3ème feuille : Codename = Feuil3 - Name = Feuil3

Etc ....

Tu supprimes la feuille 2 et tu enregistres ton classeur

Tu ré-ouvres le classeur et tu crées une nouvelle Feuille

Et bien tu auras

1ère feuille : Codename = Feuil1 - Name = Feuil1

2ème feuille : Codename = Feuil2 - Name = Feuil3

3ème feuille : Codename = Feuil3 - Name = Feuil2

Oups....

Je sais .. mais dans ce cas là, j'aurais donné des nom spécifiques à ces feuilles du style

PL3

CH3

PR3

PL4....

Bonne chance

Rechercher des sujets similaires à "test existence feuille"