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'exécution '438' : Propriété ou méthode non gérée par cet objet [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Mai 2016
    Messages : 15
    Points : 7
    Points
    7
    Par défaut Erreur d'exécution '438' : Propriété ou méthode non gérée par cet objet
    Bonjour le forum,

    J'ai la fonction suivante dans un Module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
           Sub Fonction(NomFeuil As String, NumComboBox As Integer)
     
                  Set Obj = Sheets(NomFeuil).Controls(ComboBox & "NumComboBox")
                  ...
     
           End Sub
    Quand je compile il y a le message d'erreur "Erreur d'exécution '438' : Propriété ou méthode non gérée par cet objet.
    Quand je remplace par la version suivante, le code marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
           Sub Fonction(NomFeuil As String)
     
                  Set Obj = Sheets(NomFeuil).ComboBox1
                  ...
     
           End Sub
    Cependant je n'ai pas réussit à passé le numéro de la ComboBox en variable, pouvez-vous m'aider à trouver d'où vient mon erreur ?
    Merci pour vos réponses.
    Julien

  2. #2
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    Bonjour,

    Peut être comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Obj = Sheets(NomFeuil).Controls("ComboBox" & NumComboBox)
    Merci de cliquer sur pour chaque message vous ayant aidé
    puis sur pour clore cette discussion …

    C'est en récoltant les cailloux qu'on te jette que tu construiras ta future estrade...

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Mai 2016
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Bonjour Bboy-easy,
    Malheureusement cela ne fonctionne pas non plus. J'ai le pressentiment que l'on ne peut pas récupérer l'index d'une ComboBox si celle-ci est sur un Worksheet ...
    Merci de ta réponse

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,
    ou est, ton contrôle, sur un usf ?, sur une feuille ?, s'agit'il d'un contrôle Formulaire ou ActiveX ?
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Mai 2016
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Bonjour Casefayere,

    Mon contrôle est sur un worksheet et il s'agit d'un contrôle ActiveX.

  6. #6
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    autre chose, je viens de voir que tu termines une fonction par "End Sub", c'est "End Function"
    après voir comment appelles-tu cette fonction (te diriges-tu sur elle)
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Mai 2016
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Bonjour,
    Cela ne marche toujours pas avec un Function... et End Fonction

    Je la déclare dans 'ThisWorbook' comme suit :

    Fonction "Feuil1", 1

  8. #8
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Je vais faire un essai sur fichier bidon et te tiens au courant
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  9. #9
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Je n'ai pas pensé à te demander, comment est déclaré Obj (Dim Obj as ....)
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Mai 2016
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    C'est peut-être la coquille !

    Je ne l'ai pas déclarée parce je ne savait pas quel type mettre...

  11. #11
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    un exemple qui boucle sur Combobox1 à 5 afin d'afficher leur nom, étant entendu que ce sont des contrôles ActiveX situés sur la feuille dont le codename est Feuil1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 1 To 5
        MsgBox Feuil1.Shapes("Combobox" & i).Name
    Next i

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Mai 2016
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Bonjour Joe,

    J'essai d'adapter ton code au mien mais je n'y parvient pas, j'ai toujours le même message d'erreur :/

  13. #13
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    et ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function essai(NomFeuil As String, NumComboBox As Integer)
    Dim obj As Object
     Set obj = Sheets(NomFeuil).OLEObjects("ComboBox" & NumComboBox)
    MsgBox obj.Name
    End Function
    essai concluant
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Mai 2016
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    J'ai toujours le même message d'erreur...

  15. #15
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Pourtant, je viens de tester sans problème
    un combobox (ComboBox1) dans une feuille nommée "Feuil1", un code dans l'éditeur sur la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub toto()
    essai "Feuil1", 1
    End Sub
    la fonction dans un module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function essai(NomFeuil As String, NumComboBox As Integer)
    Dim obj As OLEObject
     Set obj = Sheets(NomFeuil).OLEObjects("ComboBox" & NumComboBox)
     MsgBox obj.Name
    End Function
    testes la même chose
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  16. #16
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Navré, je t'ai donné par erreur la méthode pour un contrôle de formulaire (collection Shapes) au lieu d'un contrôle ActiveX (collection OLEObjects)


    Je laisse casefayere sur le sujet, et confirme que sa dernière proposition est parfaitement correcte et fonctionnelle pour des contrôles ActiveX

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Mai 2016
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Le code que tu me donnes fonctionne mais avec la boucle que j'ajoute ensuite, je retombe sur le même message d'erreur. Je te met la boucle au complet, elle tri par ordre alphabétique la liste déroulante de ma comboBox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Obj As Object
    Set Obj = Sheets(NomFeuil).OLEObjects("ComboBox" & NumComboBox)
     
    With Obj

  18. #18
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    j'ai modifié mon code pour la déclaration et j'ai préféré plutôt quetu as du oublié quelque chose dans ta boucle, elle n'apparait pas
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  19. #19
    Futur Membre du Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Mai 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Mai 2016
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    (je termine)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
         With Obj
              For i = 0 To .ListCount -1
                   For j = 0 To ListCount - 1
                        If .List(i) < .List(j)
                            strTemp = .List(i)
                            .List(i) = .List(j)
                            .List(j) = strTemp
                       EndIf
                   Next j
              Next i
         End With

    il me semble que c'est le .List qui pose problème ?

  20. #20
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    il me semble que c'est le .List qui pose problème ?
    oui, la propriété n'existe pas, ni celle-ci "ListCount"
    je vais chercher car je n'utilise pas ces objets placés sur une feuille, cherches de ton coté en attendant
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/09/2015, 09h08
  2. erreur 438 : propriété ou méthode non gérée par cet objet
    Par saninx dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/08/2015, 13h38
  3. Erreur 438 propriété ou méthode non gérée par cet objet
    Par aba_tarn dans le forum VBA Access
    Réponses: 0
    Dernier message: 22/02/2008, 11h30
  4. propriété ou méthode non gérée par cet objet
    Par Elstak dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/05/2007, 21h23
  5. Erreur:Propriété ou méthode non gérée par cet objet.
    Par nodogeid dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/05/2007, 17h08

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