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 :

Membre de méthode ou de données introuvable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Par défaut Membre de méthode ou de données introuvable
    bonsoir

    j'en viens a poser cette question sur ce forum car je désespère a ne pas trouver la réponse a une chose si banale

    voici mon code source :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton9_Click()
     
    Dim Ctrl As Control
     
    'Boucle sur la collection de contrôles
    For Each Ctrl In Me.Controls
        MsgBox Ctrl.Name
    Next Ctrl
    End Sub

    mais ca bloque a la compilation sur le .Controls

    me manque-t-il une référence (MF2.0 Object library est coché ou autre chose ?

    merci de vos réponses

    Fab

  2. #2
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Bonjour


    fait un essais avec :
    dans un module
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    Option Explicit
                            Public Init                     As Boolean
    Sub BoucleSurControle()
                            Dim Ctrl                    As Control
                            Dim WB                      As Workbook
                            Dim VBComp                  As VBComponent
                            Dim Uf                      As Object
    Init = True
     
        Set WB = ThisWorkbook ' instance du classeur
     
        For Each VBComp In WB.VBProject.VBComponents
            If VBComp.Type = 3 Then ' si c'est un Usf
                On Error GoTo Echappe:
                Set Uf = UserForms.Add(VBComp.Name) ' instance de la variable Uf
     
                For Each Ctrl In Uf.Controls ' on boucle sur les contrôles de l'USF
                    MsgBox = VBComp.Name & "-" & Ctrl.Name
                Next Ctrl
     
                DoEvents
                Unload Uf
            End If
        DoEvents
    Echappe:
        Next VBComp
     
    Init = False
     
    End Sub
    et dans chaque Userform

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub UserForm_Initialize()
    If Init Then Exit Sub



    Cela devrait te donner le nom de l'USF et le nom du contrôle
    à adapter après selon tes besoins

    Bon courage

  3. #3
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, quel est le message d'erreur ? car perso ton code fonctionne sans problemex

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Par défaut
    Citation Envoyé par kiki29 Voir le message
    Salut, quel est le message d'erreur ? car perso ton code fonctionne sans problemex
    salut

    le message d'erreur est ce que j'ai mis dans le titre

    "Membre de methode ou de données introuvable"


    @JP merci de ta réponse , mais le pbm seras le meme avec to code , c'est le ".Controls" qui me génerent une erreur , le code lui fonctionne correctement (c'est une source MS)

  5. #5
    Candidat au Club
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Par défaut
    voici la solution en VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton9_Click()
     
    Dim Ctrl As OLEObject
     
    'Boucle sur la collection de contrôles
    For Each Ctrl In Me.OLEObjects
        MsgBox Ctrl.Name
    Next Ctrl
    End Sub

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

Discussions similaires

  1. Erreur de compilation: Membre de méthode ou de données introuvable
    Par toniodelavega dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/08/2010, 08h03
  2. Membre de méthode ou de données introuvable
    Par Brebiou dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/06/2008, 09h05
  3. Membre de méthode ou de données introuvable..
    Par Falcdyr dans le forum VBA Access
    Réponses: 5
    Dernier message: 23/04/2008, 12h17
  4. Membre de méthodes ou de données introuvable
    Par titeZ dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/08/2007, 18h06
  5. Membre de méthode ou de donnée introuvable
    Par samtheh dans le forum VBA Access
    Réponses: 2
    Dernier message: 09/07/2007, 09h37

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