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 :

[VBA-E] Problème pour coder une boucle


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [VBA-E] Problème pour coder une boucle
    J'ai le code ci dessous qui se répète 20 fois avec le numéro en gras qui change seulement.
    J'essaye de le remplacer par une boucle For Next mais je bloque à un endroit.
    Je veux faire varier le numéro en gras seulement de 1 à 20 sachant que ca fait partie du nom du contrôle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If CheckBoxzing1.Value = True Then
    Sheets("feuille de commande").cells(ligneutile1, 1) = CheckBoxzing1.Caption
    Sheets("feuille de commande").cells(ligneutile1, 2) = Refzing1.Caption
    Sheets("feuille de commande").cells(ligneutile1, 3) = TextBoxzing1.Value
    End If
    Comment faire ?

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir

    Les contrôles sont dans la feuille ou dans un UserForm?


    michel

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonsoir,
    Merci de votre réponse,
    oui les contrôles sont dans une user form.
    Il y a 20 cases à cocher et si elles sont cochées lorsque je valide les "info" sont collées dans de cellules.

    Mano

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    Tu peux essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim i As Integer
    '
    '...
    '
    If Me.Controls("CheckBoxzing" & i).Value = True Then
    '
    '...
    '

    michel

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    oui, ou tu formates "l'index" de tes contrôles CheckBoxzing01 CheckBoxzing02, Refzing01, 02,... auquel cas tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    '(For noCol = 1 to 20)
         For each LeControl in userform1.controls
              Select case Left(LeControl.name, len(LeControl.name)-2)
                     Case "CheckBoxzing"
                            Sheets("feuille de commande").cells(ligneutile1, NoCol) = Control.name.caption
                     Case "Refzing"
                            Sheets("feuille de commande").cells(ligneutile1, NoCol+1) = Control.name.caption
                     Case "TextBoxzing"
                            Sheets("feuille de commande").cells(ligneutile1, NoCol + 2) = Control.name.Value
                     ...
    Juste pour l'idée car là on ne sait pas comment tu places tes vingts données, 3 par 3 sur des lignes différentes ou sur vingt colonnes différentes ni si tu as 20 types de contrôles différents (ce qui ferait beaucoup...) ou 20 fois les 3 mêmes
    Tu dis
    A+

  6. #6
    Candidat au Club
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci, j'ai effectué les modifs de SilkyRoad et c'est impect.
    Je serai plus précis la prochaine fois^^

    Mano

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

Discussions similaires

  1. Problème pour arréter une boucle avec un bouton
    Par Zizook dans le forum Tkinter
    Réponses: 17
    Dernier message: 17/03/2014, 14h26
  2. Problème pour réaliser une macro "de boucles" dans VBA
    Par philou7176 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/12/2008, 16h41
  3. [VBA-E] Problème pour remplir une listbox multicolonne
    Par SFrane dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/05/2007, 17h55
  4. [VBA-E] Problème pour faire une boucle dans une userform
    Par Garlim dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/05/2007, 00h10
  5. [VBA-Excel]Problème pour remplir une listview
    Par Le Djé dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/01/2006, 17h27

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