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 :

Itération de variable dans UserForm


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 25
    Points : 17
    Points
    17
    Par défaut Itération de variable dans UserForm
    Bonjour, à tous,

    J'ai créé un UserForm afin de récupérer des informations de la part des utilisateurs, il se trouve que j'ai 15 variables de même nature (chiffres).
    J'ai donc 15 TextBox qui vont récupérer les infos, portant respectivement le nom de : Variable_1, Variable_2, etc...

    Imaginons que l'utilisateur rentre le chiffre 33 dans la première TextBox, pour récupérer ce chiffre le code est par exemple :
    , la message box affiche 33.

    J'ai besoin de faire des vérifications sur les 15 variables, je pensais donc mettre le numéro de la variable en variable afin d'obtenir une boucle sur mes TextBox pour cela j'ai utilisé le code CStr() ce qui me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For i = 1 à 15
    If "Variable_1" & CStr(i) <> "" then .....
    Seulement le programme considère la valeur de "Variable_1" & CStr(i) comme étant Variable_1 et non pas sa valeur 33.

    J'ai essayé plusieurs syntaxes mais ne trouve pas ex.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ("Variable_" & CStr(i)).value
    Quelqu'un peut-il me donner la solution ?

    Merci d'avance
    Céline

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si j'ai bien lu, ce que tu nommes "Variable" est en réalité un contrôle TextBox.
    Tu souhaites donc parcourir la valeur de tes 15 contrôles nommés (Variable_1, Variable_2, etc. ). Je te suggère si j'ai bien compris ta question de les nommer d'une façon moins exotiques afin de t'y retrouver par la suite dans ton code.
    Voir ce chapitre Boucler sur les contrôles contenus dans la Forme du tutoriel Utiliser les contrôles dans un UserForm, en VBA Excel
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Bonjour Philippe,

    Je te remercie pour ta réponse, j'ai donc appliqué le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Ctrl As Control
     
    For Each Ctrl In NB_LINGNES.Controls
        If TypeOf Ctrl Is MSForms.TextBox Then MsgBox Ctrl.Object.Value
    Next Ctrl
    Seulement mon UserForm comporte deux pages y-t-il un moyen de boucler sur une page précise, NB_LINGNES est le nom de l'UserForm, la page sur laquelle la boucle doit s'effectuer est nommée : Insertion_2, j'ai bien sûr essayé : Each Ctrl In Insertion_2.Controls mais ça ne fonctionne pas certainement il doit falloir changer le mot MSForms de la ligne suivante mais je ne sais pas par quoi le remplacer.

    Merci de m'aider
    Céline

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Seulement mon UserForm comporte deux pages y-t-il un moyen de boucler sur une page précise
    Quand tu parles de pages dans ton UserForm, il s'agit du contrôle MultiPage.
    Toujours dans le même tutoriel, lis le chapitre II-J. MultiPage
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. Déclaration Variable dans Userform et ThisWorkbook
    Par grimgrim dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 12/09/2018, 08h14
  2. déclaration de variable dans userform!
    Par lizzie59 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/04/2013, 16h49
  3. [XL-2007] récupérer une variable dans un userform
    Par danonino dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/06/2010, 09h02
  4. Recuperé une variable dans userform
    Par backdraf dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/11/2009, 11h08
  5. Rentrer une selection de taille variable dans une liste d'un userform
    Par Bubale dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 14/05/2008, 18h59

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