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 :

Methode de feuille inconnue à l'ouverture


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Par défaut Methode de feuille inconnue à l'ouverture
    Bonjour à tous,

    J'ai défini une banale méthode de mise en forme d'une feuille, dans le code de l'objet associé à cette feuille.
    Par exemple dans le module de Feuil1, j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Public Sub MEF
    End Sub
    Or j'aimerais appeler cette méthode à l'ouverture du classeur, ce qui ne fonctionne pas m'indiquant que la méthode n'existe pas. Je pense que cela vient du fait que la méthode n'est pas encore "chargée" au moment de l'appel (à l'ouverture du classeur), car une fois le classeur ouvert je peux l'appeler sans problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
        Worksheets("Feuil1").MEF    'Erreur ici
    end Sub
    Bon, je peux toujours définir cette méthode dans un module classique, mais je trouve dommage de ne pas la laisser la méthode dans le module de la Feuille concernée, étant donnée que c'est une méthode qui lui est propre.

    Ma question (enfin )est donc: peut t'on contourner ce problème en laisser la méthode dans le module lié à l'objet Feuille?

    Merci d'avance

  2. #2
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,
    Essaie avec la syntaxe suivante :

  3. #3
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Essais en décalant l'exécution dans le temps (5 seconde après ouverture)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
        Application.OnTime Now + TimeValue("00:00:5"), "Feuil1.MEF"
    end Sub

  4. #4
    Membre émérite Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Par défaut
    Merci à vous 2:

    Tedo: Avec ta méthode la compilation passe ce qui n'était pas le cas avant, mais à l'ouverture j'ai l'erreur
    Objet recquis
    L'objet Feuil1 ne doit pas encore être instancié quand j'appelle ma méthode, mais ça me semble bizarre.

    Jfontaine: Je n'ai pas essayé mais je ne suis pas très adepte de ce genre de manip (que je ne maitrise pas bien d'ailleurs). Je préfère autant définir ma méthode dans un autre module.

  5. #5
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Re-bonjour,
    Il doit y avoir un autre problème, je viens de faire le test et chez moi ça fonctionne.
    Lorsque tu as l'erreur, si tu vas en debug, est-ce que tu peux continuer l'exécution en pas à pas ?

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par tedo01 Voir le message
    Bonjour,
    Essaie avec la syntaxe suivante :
    Feuil1.MEF

  7. #7
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,
    Merci fring pour ta correction mais si le problème venait de ma faute de frappe, ça ne passerait pas la compilation...

  8. #8
    Membre émérite Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Par défaut
    Merci beaucoup Tedo effectivement il s'agissait d'une autre erreur.
    Ça fonctionne très bien comme ceci.

    Par contre est que tu sais pourquoi l'autre syntaxe plante?

  9. #9
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,
    Ta première syntaxe fonctionne avec le libellé de l'onglet, alors que celle que je te propose est basée sur son nom.
    Par exemple, je peux avoir un onglet qui se nomme Feuil1 (on voit le nom dans l'éditeur VB, sous "Microsoft Excel Objects", avec à côté le libellé entre parenthèses), mais dont l'intitulé est "Recap".
    Je peux alors l'appeler Worksheets("Recap") ou Feuil1, mais Worksheets("Feuil1") ne marchera pas.
    Est-ce que Feuil1 est aussi bien le nom que le libellé de l'onglet dans ton classeur ?

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

Discussions similaires

  1. [11gR2] Table système DICT inconnue si ouverture base étape par étape
    Par Ikebukuro dans le forum Administration
    Réponses: 2
    Dernier message: 12/12/2014, 17h58
  2. [XL-2003] import .rtf dans feuille excel - pb ouverture
    Par langeard dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/06/2011, 11h37
  3. Table inconnu à l'ouverture de celle-ci
    Par Bernardtapis dans le forum Access
    Réponses: 2
    Dernier message: 30/01/2007, 17h09
  4. cacher des feuilles a l'ouverture du classeur
    Par florent149 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/08/2006, 16h52
  5. [VBA-E] Mise en page de tout le classeur avec nb feuill inconnu
    Par tonf dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/04/2006, 15h25

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