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 :

PB variation numéro textbox. [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Par défaut PB variation numéro textbox.
    Bonjour à tous,

    Je me permet de vous présenter mon problème, car cela fais quelques heures (jours) que je bloque.
    Voila je souhaite récupérer l'ensemble des valeurs des textbox de mon user form.
    Pour cela je vais varier le numéro de la textbox dans une boucle, ou je viens prendre les valeurs pour les mettre dans un tableau.
    ça donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub CaptureDon()
        Dim Col As Integer
        For Col = 1 To NbRub
            DonTextBox(Col) = Controls("TextBox" & CStr(col)).text
        Next Col
    End Sub
    J'obtient une erreur
    Erreur d'exécution'-2147024809(80070057)': Objet spécifié introuvable.
    j'ai tous essayé, je tourne en rond...
    Merci d'avance....

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        For Col = 1 To NbRub
            DonTextBox(Col) = Controls("TextBox" & col)
        Next Col
    tu es sûr des valeurs de ta variable NbRub?

    Tu as un TextboxN inéxistant.
    revérifie le nom de des textbox.

  3. #3
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Tu peux aussi préfixer la collection Controls.
    Puisqu'il s'agit de contrôles de Userform
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DonTextBox(Col) = NomUserForm.Controls("TextBox" & col)
    ET DonTextBox doit être déclaré quelque part, comme NbRub qui doit aussi avoir une valeur adéquate. D'ailleurs NbRub devrait être une constante.

    Cordialement,

    PGZ

  4. #4
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Par défaut
    Bonjour et merci d'avoir regardé.
    Bon, je suis sur que mon NbRub est bien définie.
    Quand je fais tourner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DonTextBox(Col) = "TextBox" & CStr(col)
    j'obtiens bien textbox1 à textbox54...
    par contre je vais vérifier si j'ai bien mes 54 textbox...

    j'essaye avec le userform devant le controls..

    encore merci.

  5. #5
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 12
    Par défaut
    bon j'ai vérifié, j'ai bien mes 54 textbox...
    j'ai préfixé le contrôle avec le nom de mon user form et tout est bien définit dans des déclarations Public...



    Aussi, mais textbox sont dans des frames. ect ce que ça change l'adresse des textbox, genre frame1.textbox1

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    à tout hasard, ta procédure n'est-elle pas dans un module ? plutot que dans le code de l'USF. Sioui, il faut préciser le nom de l'USF : Mais tu sais peut-être déjà ça.

    Bonne journée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: 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.

Discussions similaires

  1. Numéro ID dans une textbox
    Par vinvinsylvain dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 16/02/2014, 12h44
  2. Variabiliser les numéros des TextBox
    Par Val2000 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/06/2013, 12h16
  3. limiter un "-" dans un textbox et variations sur le thème ^^^
    Par petibonohm dans le forum Macros et VBA Excel
    Réponses: 75
    Dernier message: 29/02/2008, 15h17
  4. Réponses: 2
    Dernier message: 01/05/2006, 19h28
  5. Calcul des numéros de semaine d'un calendrier
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 06/11/2002, 21h29

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