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 :

erreur d'execution 91 via une classe


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2002
    Messages : 329
    Points : 139
    Points
    139
    Par défaut erreur d'execution 91 via une classe
    Bonjour,

    Je tente d'exécuter une macro relativement simple mais une erreur d'exécution91 se produit lorsqu'un clic sur un bouton est réalisé. Ma variable objet est pourtant bien défini ?!
    Voici le code dans le module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Btn_Calendrier()
        Dim test As LeMois
     
        ActiveSheet.Range("A2").Value = test.GetNomMois
    End Sub
    Et dans le module de classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     Private Mois_Courant As Integer
        Private Sub Initialize()
            Mois_Courant = 8
        End Sub
        Property Get GetMoisCourant() As Integer
            MoisCourant = Mois_Courant
        End Property
        Property Let SetMoisCourant(mc As Integer)
            Mois_Courant = mc
        End Property
        Public Function GetNomMois()
            MonthName (Mois_Courant)
        End Function

  2. #2
    Invité
    Invité(e)
    Par défaut
    Il y a pas mal d'erreurs dans la définition de ton module de classe. En tout cas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Option Explicit
     
    Sub Btn_Calendrier()
    Dim test As LeMois
        Set test = New LeMois
        ActiveSheet.Range("A2").Value = test.GetNomMois
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Option Explicit
     
    Private Mois_Courant As Integer
     
    Private Sub class_Initialize()
        Mois_Courant = 8
    End Sub
    Property Get GetMoisCourant() As Integer
        GetMoisCourant = Mois_Courant
    End Property
    Property Let SetMoisCourant(mc As Integer)
        Mois_Courant = mc
    End Property
    Public Function GetNomMois()
        GetNomMois = MonthName(Mois_Courant)
    End Function
    !!! Le module de classe doit s'appeler 'LeMois'.
    Dernière modification par Invité ; 31/05/2013 à 22h29.

  3. #3
    Membre habitué
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2002
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2002
    Messages : 329
    Points : 139
    Points
    139
    Par défaut
    Merci et désolé pour ces erreurs réalisées bien que j'ai parcouru les tutos

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/10/2009, 10h13
  2. Réponses: 4
    Dernier message: 06/04/2008, 18h34
  3. Réponses: 0
    Dernier message: 14/02/2008, 14h25
  4. Un tableau via une classe
    Par MaitrePylos dans le forum Ruby on Rails
    Réponses: 4
    Dernier message: 02/04/2007, 09h49
  5. Mise à jour d'une controle via une classe.
    Par Andry dans le forum Delphi
    Réponses: 4
    Dernier message: 23/06/2006, 15h00

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