IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Test de l'existence d'une zone nommée [XL-2000]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Points : 204
    Points
    204
    Par défaut Test de l'existence d'une zone nommée
    Bonjour à tous,

    Je souhaite tester l'existence d'une zonne nommée. Normalement, le parcours classique serait de faire un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not ThisWorkbook.Names("TA_TalonSup_ZoneExport") Is Nothing Then
    accompagné d'un mécanisme de récupération d'erreur 1004, soir par

    ce qui est crade et pas pro, soit par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    on error goto GestionErreur
     
    GestionErreur:
    if err.num = 1004 then
    resume next
    end if
    Le problème c'est que les environnements clients sont configurés sous vista et office 2007, et que tout est configuré pour relever toutes les erreurs sans les gérer par les mécanismes décrits ci-dessus.

    Ma question est : existe-t-il un moyen de tester l'existence d'une zonne nommée sans lever d'erreur en cas de non existence?

    Merci à tous

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Essayes ce bout de code qui devrait t'afficher le nom des plages nommées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Sub TestPlageNommees()
        Dim PlageNommees As Name
     
        For Each PlageNommees In ActiveWorkbook.Names
            MsgBox PlageNommees.Name
        Next PlageNommees
    End Sub
    Si cela fonctionne à adapter pour faire le test.

    Philippe

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    Avec la scripting runtime il y a une façon élégante de le faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Function Existe(NomPlage As String)
        dim dico as object
        set dico=createobject("Scripting.Dictionary")
        Dim zone As Excel.Name
        For Each zone In Activeworkbook.Names
            dico.Add Key:=zone.Name, Item:=zone
        Next zone
        Existe = dico.Exists(NomPlage)
        set dico=nothing
    End Function

  4. #4
    Membre actif Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Points : 204
    Points
    204
    Par défaut
    @Philippe

    Propre, parfait, j'ai adapté ta boucle et ça marche impec. Une fois de plus, j'aurai du penser à faire ça avant de demander.

    Merci beaucoup.

    @Benjile

    désolé, je n'y connais rien en scrpting runtime, je ne sais même pas ce que c'est en tout cas merci quand même, à l'occasion je regarderai de quoi il s'agit ça me donnera l'occasion d'apprendre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. test sur la saisie dans une zone de texte
    Par niamo dans le forum IHM
    Réponses: 4
    Dernier message: 01/06/2010, 13h48
  2. Echec du test de l'existance d'une classe
    Par vinzzzz dans le forum Général Java
    Réponses: 3
    Dernier message: 08/07/2009, 09h25
  3. Réponses: 2
    Dernier message: 30/03/2008, 20h33
  4. test de l'existence d'une session ?
    Par MorganStern dans le forum Langage
    Réponses: 2
    Dernier message: 02/10/2007, 11h13
  5. [VBA-E]Test de l'existence d'une propriété
    Par extase dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/01/2007, 19h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo