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 sur nom de sheet => "error 9 out of range"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 90
    Par défaut test sur nom de sheet => "error 9 out of range"
    Bonjour,
    je suis un bleu en vba.
    J'utilise dans mon job une macro qui convertis un input excel.
    le nom d'une sheet à changé dans l'input , quand j'ai voulu adapté cela dans la macro en mettons le nouveau nom dans la macro
    " Private Function getTemplateVersion" ,

    j'ai chaqué fois reçu "error 9 :out of range" !!!!
    merci d'avance pour votre secours.

    _debutant.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Si VB n'accepte pas un nom, change de nom... C'est quoi "getTemplateVersion", un nom de feuille ? Le nom d'un modèle existant ?

  3. #3
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 086
    Par défaut
    SAlut et bienvenu parmis nous
    En effet si tu as un tel message c'est que tu essais d'acceder a une sheet qui n'existe pas. Tu dis avoir changé le nom d'un sheet et ensuite d'avoir changé ce nom dans une macro, mais es tu bien d'avoir changé tous les endroits ou apparaissait ce nom de sheet.
    Dans VBA fait une recherche Ctrl+F tape l'ancien nom de ta sheet, et coche l'option "Dans tout le projet en cours" et aller, comme ca tu sera sur que l'ancien nom ne traine nullpart et si tu le retrouve ... ben tu le change
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 90
    Par défaut
    En fait , le nom qui a changé dans le fichier excel input de la macro est le nom de la sheet) (I_C est devenu summary) .
    je l'es changé partout dans la macro (donc, I_C devient partout summary)

    voici un bout de macro :
    ---
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Function getTemplateVersion(wb As Workbook) As Integer 
        If wb.Worksheets(1).name = "I_C" Then 
            getTemplateVersion = 1 
        ElseIf wb.Worksheets(1).name = "STATS" Then 
            getTemplateVersion = 2 
        End If 
    End Function
    ---
    run -> out of range !! je ne comprend pas . est ce un probléme de déclaration du nom de la sheet ,si c'es le cas où en définit ce paramétre, pour la changé?
    merci d'avance.

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    As-tu vérifié si le nom de la feuille est bien en lettres minuscules comme dans tes modifs? D'après ce que je peux voir, les noms étaient en majuscules à l'origine...

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonsoir

    Les noms des feuilles n'ont aucun rapport avec le problème.

    Si aucune feuille ne porte un des deux noms, la fonction renverra simplement 0.

    Le problème vient du fait que, à mon avis, tu n'as aucune feuille de calcul dans le classeur que tu passes en paramètres.

    Peut-être celui-ci est-il seulement constitué de feuilles graphiques et/ou de feuilles de macros Excel 4.0 et/ou de feuilles de "boite de dialogue"...

    Remplace ton code par celui-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function getTemplateVersion(wb As Workbook) As Integer
        If wb.Sheets(1).Name = "I_C" Then
            getTemplateVersion = 1
        ElseIf wb.Sheets(1).Name = "STATS" Then
            getTemplateVersion = 2
        End If
    End Function
    C'est-à-dire Worksheets par Sheets et tu ne devrais plus avoir de problème.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/10/2014, 17h46
  2. Test sur le nom d'un dossier
    Par romu69 dans le forum Windows
    Réponses: 1
    Dernier message: 27/09/2006, 16h48
  3. Test sur un nom de fichier
    Par Ribéry dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 11/07/2006, 11h17
  4. test sur le nom d'une fonction
    Par Art19 dans le forum C
    Réponses: 6
    Dernier message: 26/06/2006, 18h29
  5. [XSL] Test sur le nom d'une balise
    Par KibitO dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 18/12/2005, 13h44

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