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 :

Problème coordination de boucle. [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    sécurité
    Inscrit en
    Septembre 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 197
    Par défaut Problème coordination de boucle.
    Bonjour

    je viens vers vous pour un souci de boucle dont je n'arrive pas à résoudre. mon but est d'avoir les combobox = "" à l'ouverture du formulaire.

    Sur userForm il y a un Multipage avec 2 pages,

    En page 2 (3 frames)
    Frame 1 il y a Combobox 1, 2 et 3
    Frame 2 il y a Combobox 4
    sur page 2 il y a Combobox5

    J'ai bien créé dans Private Sub UserForm_Initialize() des boucles qui m'alimente bien les combobox mais qui affiche le titre dans les Combobox à l'ouverture du formulaire, pour remédier à ça j'ai ajouté à la suite des boucles qui alimente les combobox d'autres boucles afin de mettre .text = "" à l'ouverture du formulaire.

    Mon code
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    Private Sub UserForm_Initialize()
    Dim J, I As Integer
     
    '*Se positionne sur la page 1 à l'ouverture
    ' Me.MultiPage1.Value = 0
     UF1_Admin.MultiPage1.page2.TextBox5.Locked = True   'Enabled
     Label29.Visible = False
     Label30.Visible = False
     With Label28
      .Caption = Format(Date, "dddd dd mmmm yyyy")
      .Font.Bold = True
      .Font.Italic = True
      .ForeColor = RGB(255, 0, 0)
    End With
     
    'Récupère les données de la colonne C...
        For J = 3 To Sheets("Coordonnées").Range("C65536").End(xlUp).Row
            UF1_Admin.MultiPage1.page2.ComboBox1 = Sheets("Coordonnées").Range("C" & J)
            '...et filtre les doublons
            If UF1_Admin.MultiPage1.page2.ComboBox1.ListIndex = -1 Then If Sheets("Coordonnées").Range("C" & J) <> "" Then UF1_Admin.MultiPage1.page2.ComboBox1.AddItem Sheets("Coordonnées").Range("C" & J)
        Next J
    'Récupère les données de la colonne E...
        For J = 3 To Sheets("Coordonnées").Range("E65536").End(xlUp).Row
            UF1_Admin.MultiPage1.page2.ComboBox2 = Sheets("Coordonnées").Range("E" & J)
            '...et filtre les doublons
            If UF1_Admin.MultiPage1.page2.ComboBox2.ListIndex = -1 Then If Sheets("Coordonnées").Range("E" & J) <> "" Then UF1_Admin.MultiPage1.page2.ComboBox2.AddItem Sheets("Coordonnées").Range("E" & J)
        Next J
    'Récupère les données de la colonne F...
        For J = 3 To Range("F65536").End(xlUp).Row
            UF1_Admin.MultiPage1.page2.ComboBox3 = Sheets("Coordonnées").Range("F" & J)
            '...et filtre les doublons
            If UF1_Admin.MultiPage1.page2.ComboBox3.ListIndex = -1 Then If Sheets("Coordonnées").Range("F" & J) <> "" Then UF1_Admin.MultiPage1.page2.ComboBox3.AddItem Sheets("Coordonnées").Range("F" & J)
        Next J
    'Récupère les données de la colonne G...
        For J = 3 To Range("G65536").End(xlUp).Row
            UF1_Admin.MultiPage1.page2.ComboBox4 = Sheets("Coordonnées").Range("G" & J)
            '...et filtre les doublons
            If UF1_Admin.MultiPage1.page2.ComboBox4.ListIndex = -1 Then If Sheets("Coordonnées").Range("G" & J) <> "" Then UF1_Admin.MultiPage1.page2.ComboBox4.AddItem Sheets("Coordonnées").Range("G" & J)
        Next J
    'Récupère les données de la colonne D...
        For J = 3 To Range("D65536").End(xlUp).Row
            UF1_Admin.MultiPage1.page2.ComboBox5 = Sheets("Coordonnées").Range("D" & J)
            '...et filtre les doublons
            If UF1_Admin.MultiPage1.page2.ComboBox5.ListIndex = -1 Then If Sheets("Coordonnées").Range("D" & J) <> "" Then UF1_Admin.MultiPage1.page2.ComboBox5.AddItem Sheets("Coordonnées").Range("D" & J)
        Next J
     
    For I = 1 To 5
     UF1_Admin.MultiPage1.page2.Controls("ComboBox" & I).Text = ""
    Next
     
    For I = 1 To 11
     UF1_Admin.MultiPage1.page2.Controls("TextBox" & I).Text = ""
    Next
     
    For I = 1 To 6
     UF1_Admin.MultiPage1.page2.Controls("CommandButton" & I).BackColor = 13434879
    Next
     
    End Sub
    Le souci sur la boucle For I = 1 To 5 est que seule le Combobox5 est = "" et les autres sont remplis avec le titre, ou si je remplace le 5 par 4 c'est l'inverse, c'est à dire les combobox dans les frame qui sont = "" et la combobox5 rempli.

    Si quelqu'un peu m'aiguiller la dessus ça serai sympa.

    Merci d'avance
    Cdlt.

  2. #2
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub UserForm_Initialize()
     
     'Creer une liste sans doublons dans ComboBox1
     For i = 1 To 10
      ComboBox1.Text = Cells(i, 1).Value
     
      If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Cells(i, 1)
     
     Next
     
     'Pour mettre .text = ""
     ComboBox1.ListIndex = -1
     
    End Sub
    Voir le demo de SilkyRoad.

  3. #3
    Membre confirmé
    Homme Profil pro
    sécurité
    Inscrit en
    Septembre 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 197
    Par défaut
    Merci Docmarti
    c'est parfais je viens de modifier mon code et ça marche
    merci encore

    Cdlt

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

Discussions similaires

  1. Problème avec une boucle for
    Par cisse18 dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 29/03/2006, 16h50
  2. [MySQL] Problème avec une boucle
    Par yayacameleon dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 09/03/2006, 09h53
  3. Problème sur une boucle
    Par Mateache dans le forum ASP
    Réponses: 6
    Dernier message: 31/01/2006, 09h48
  4. [JMeter] Problème avec la boucle infinie pour les tests
    Par zegreg dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 05/10/2005, 11h41
  5. [Tableaux] Problème avec les boucles
    Par speed_man002 dans le forum Langage
    Réponses: 4
    Dernier message: 21/09/2005, 15h42

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