Masquer/supprimer des données dans un combobox

Bonjour le forum,

J'ai crée un Userform1 avec un combobox4. Ce combobox4 va chercher les données dans la feuil1. Est-il possible de supprimer ou masquer dans la liste déroulante du combobox4 les données à zéro ?

Je comprend pas pourquoi la liste déroulante du combobox4 est plus longue que les données de la feuil1 ?

J'espère avoir été claire.

Merci.

PS : le mot de passe est TITI

25test-280813.xlsm (175.69 Ko)

Bonjour

Avec ce code tu auras la solution pour les 2 problèmes

Private Sub UserForm_Initialize()
Dim J As Long

  With Sheets("mouvements") 'prend en compte l'onglet "mouvements"
    'alimentation dynamique des comboboxes
    ComboBox2.RowSource = "Mouvements!X2:X" & .Cells(Rows.Count, 24).End(xlUp).Row
    ComboBox1.RowSource = "Mouvements!Y2:Y" & .Cells(Rows.Count, 25).End(xlUp).Row
    ComboBox3.RowSource = "Mouvements!Z2:Z" & .Cells(Rows.Count, 26).End(xlUp).Row
  End With 'fin de la prise en compte de l'onglet "mouvements"

  With Sheets("Feuil1")
    For J = 1 To .Range("A" & Rows.Count).End(xlUp).Row
      If .Range("A" & J) <> 0 Then ComboBox4.AddItem .Range("A" & J)
    Next J
  End With
End Sub

Que dire de plus que Fantastique.

Par contre, il met à jour le combobox4 à jour que si on clique sur "fermer" de l'USF1 et pas sur "Valider". Peux-tu y jeter un oeil ?

Merci.

Bonjour

titouan a écrit :

il met à jour le combobox4 à jour que si on clique sur "fermer" de l'USF1 et pas sur "Valider"

Le/la combobox est mis à jour à l'ouverture de l'userform avec la procédure UserForm_Initialize

Il y a quelque chose que tu veux dire mais je ne comprend pas

Grâce au combobox4, j'obtiens la liste des véhicule disponibles à la vente (et éviter de vendre 2 fois le même véhicule). La sortie d'un véhicule se fait via l'USF1, je sélectionne le véhicule, la date,..... et je clique sur le bouton "valider". Le bouton "valider" ne fait que vider l'USF1 afin de saisie une autre vente. Dans ce process, le combobox4 n'est pas réactualiser puisqu'il faut ouvrir l'USF1.

J'espère avoir été plus clair que dans mon message précédent.

Merci de ta patience.

Bonjour

Macro à modifier Private Sub CommandButton3_Click()

Dim c As Control

    For Each c In Me.Controls 'remise à zéro USF
      Select Case TypeName(c)
        Case "TextBox"
         c.Value = ""
        Case "CheckBox"
         c.Value = False
        Case "ListBox", "ComboBox"
         c.ListIndex = -1
      End Select
    Next c
  End With

  InitCBB4

End Sub

Macro à changer Private Sub UserForm_Initialize()

Private Sub UserForm_Initialize()

  With Sheets("mouvements") 'prend en compte l'onglet "mouvements"
    'alimentation dynamique des comboboxes
    ComboBox2.RowSource = "Mouvements!X2:X" & .Cells(Rows.Count, 24).End(xlUp).Row
    ComboBox1.RowSource = "Mouvements!Y2:Y" & .Cells(Rows.Count, 25).End(xlUp).Row
    ComboBox3.RowSource = "Mouvements!Z2:Z" & .Cells(Rows.Count, 26).End(xlUp).Row
  End With 'fin de la prise en compte de l'onglet "mouvements"
  InitCBB4
End Sub

Macro à ajouter Sub InitCBB4()

Sub InitCBB4()
Dim J As Long

  Me.ComboBox4.Clear
  With Sheets("Feuil1")
    For J = 1 To .Range("A" & Rows.Count).End(xlUp).Row
      If .Range("A" & J) <> 0 Then ComboBox4.AddItem .Range("A" & J)
    Next J
  End With
End Sub

Pour info : Tu es en mode de calcul manuel

Super merci beaucoup.

J'avais remarqué le mode de calcul manuel mais les options excel Formule est en mode calcul auto. Bizarre.

Merci encore et bonne soirée.

Rechercher des sujets similaires à "masquer supprimer donnees combobox"