Macro Excel : test existence onglet

Résolu/Fermé
juju93110 Messages postés 19 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 10 décembre 2013 - 18 nov. 2008 à 10:16
 flotchy29 - 26 mars 2012 à 17:02
Bonjour,

Je dispose d'un classeur excel dans lequel le premier onglet est une table des matières avec des liens hypertexte vers les autres onglets.

Afin de maintenir cette table à jour, je souhaite créer une macro qui supprime les références des onglets ayant été supprimés.

Le problème est que je connais pas d'expression conditionnelle qui permette de savoir si un onglet existe ou non.

Pouvez-vous m'aider ?

Merci d'avance.
A voir également:

4 réponses

wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
18 nov. 2008 à 10:45
Bonjour

voici une fonction à placer dans un module

Function SH_exist(Nom As String) As Boolean
    Dim sh As Worksheet
    SH_exist = False
    For Each sh In Sheets
        If sh.Name = Nom Then
            SH_exist = True
            Exit For
        End If
    Next
End Function


utilisation :
if
 SH_exist("Nomdemafeuille") = false then msgbox "feuille Absente"
3
juju93110 Messages postés 19 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 10 décembre 2013
18 nov. 2008 à 10:54
Merci pour ta réponse.

Peux-tu me commenter un peu ton code ? Je ne comprends pas l'expression : For Each sh In Sheets
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
18 nov. 2008 à 11:05
re:

Sh est déclaré en Type Worksheet, donc c'est un objet feuille

For each sh in sheets

Pour chaque feuille comprises dans toutes les feuilles
il va donc passer toutes les feuilles en revue et
le code suivant controle si le non est le meme que celui passé en parametre
0
Bonjour,
En utilisant cette fonction j'ai l"erreur suivante : Erreur d'exécution '13' Incompatibilité de type.
Savez vous pourquoi ?
0