Doublon combobox

bonjour à tous

question simple. j'ai les Item de ma ComboBox dans le code du UserForm. Mais les items apparaissent en double ??!! comment faire

voici le code :

Private Sub UserForm_Initialize()

ComboBox1.AddItem ("1-Prévision")
ComboBox1.AddItem ("3-En cours")
ComboBox1.AddItem ("6-A valider client")
ComboBox1.AddItem ("8-BL à emettre")
ComboBox1.AddItem ("3-En cours")
ComboBox1.AddItem ("9-En sign BL")

End Sub


Mercid de votre aide

Excel 2007, VBA, Windows XP Pro

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour,
    Heuuu...
    ComboBox1.AddItem ("3-En cours") 

    Est mis deux fois ??
    A+
    1. tous y sont 2 fois
  2. Contributeur
    Comme ça pas possible de comprendre, tu peu mettre ton classeur sur Cjoint.com et mettre le lien dans un poste suivant ?
    1. impossible données secret défense ^^
  3. Contributeur
    :DD
    Et bien tu fais un classeur fictif avec des donnés elles aussi fictives mais qui reprend les mêmes fonctions.
    1. Re bonjour

      bon tout fonctionne bien mais je veux mette à jour les données de mes combobox mais les nouvelles valeurs n'apparaissent
      voilà le code dans UserForm_initialize

      Dim a As Long
      For a = 10 To 25
      ComboBox1.AddItem Sheets("Feuil2").Cells(a, 12)
      Next


      j'ai des valeurs en colonne 12 (L) en partant de la ligne 10. si je rajoute une valeur dans cette plage de donnée dans la feuille excel (par exemple en ligne 25) en fin de plage, un coup la valeur apparaît dans la Combo, un coup non !! et je voudrai aussi remettre à jour la combo si je supprime des valeurs car elle garde des donnée supprimées.

      merci
  4. Voilà, j'espère que ça t'aideras !

    Private Sub UserForm_Initialize()
        Dim i As Integer
               For i = 1 To Range("A65536").End(xlUp).Row
               ComboBox1 = Range("A" & i)
                  If ComboBox1.ListIndex = -1 And Range("A" & i) <> "" Then _
                ComboBox1.AddItem Range("A" & i)
        Next i
    End Sub
    1. Ah nan désolé j'avais pas vu que tu entrais les item manuelement.

      Private Sub Userform_initialize()
      Combobox1.Clear
      ComboBox1.AddItem ("1-Prévision") 
      ComboBox1.AddItem ("3-En cours") 
      ComboBox1.AddItem ("6-A valider client") 
      ComboBox1.AddItem ("8-BL à emettre") 
      ComboBox1.AddItem ("3-En cours") 
      ComboBox1.AddItem ("9-En sign BL") 
      End Sub 
      
      1. au début oui manuellement mais comme ils bougent tout le temps je vais le faire en auto
      2. j'ai remplacé i=1 par i=10 (pour commencer en ligne 10) et "A" par "L" mais la Combo reste vide !!
    2. T'as pensé à tout changer ??

      Private Sub UserForm_Initialize()
          Dim i As Integer
                 For i = 10 To Range("L65536").End(xlUp).Row
                 ComboBox1 = Range("L" & i)
                    If ComboBox1.ListIndex = -1 And Range("L" & i) <> "" Then _
                  ComboBox1.AddItem Range("L" & i)
          Next i
      End Sub


      Parce que moi ça fonctionne quand je met sa !

      T'as bien mis Userform_initialize
      1. oui c au bon endroit
        pour l'instant j'ai des valeurs de L10 à L15
        je viens de mettre 2 valeurs au pif en L16 et 17 et en affichant le User, les 2 nouvelles valeurs n'apparaissent pas dans la Combo ??!!
      2. Ba essaye ça mais ça gère pas les doublons :

        Private Sub Userform_initialize()
        
        no_ligne = Sheets("nom_de_ta_feuille").Range("L65536").end(xlup).row
        
        ComboBox1.clear
        
        ComboBox1.List = Sheets("nom_de_ta_feuille").Range("L10:L" & no_ligne).Value
        
        End Sub
      3. :-( toujours pareil
      4. Tu veux pas copier ton fichier et viré tout les données et le mettre sur Cjoint.com
        Je pense que je peux trouver ce qui cloche
      5. et voilà
        http://cjoint.com/?BDAnL7GXX4d

        j'ai retiré toutes les données juste laisser des fausses infos en colonne L

        merci