Remplir combobox avec donnés d'une colonne Excel sous condition

hotbrain

XLDnaute Nouveau
Bonjour, j'ai besoin d'aide pour un programme VBA !!

Je souhaite récupérer les donnés de la colonne 1(si dans la colonne B il y a "Oui") dans une combobox.

Est il possible de cocher ou sélectionner les donnés de cette combobox pour y appliquer une autre action??

j'aimerais pouvoir sélectionner ceux que je souhaite pour modifier une troisième colonne dans mon fichier excel. Petite précision, toutes les colonne sont dans la même feuille.

Merci d'avance:)
 

youky(BJ)

XLDnaute Barbatruc
Re : Remplir combobox avec donnés d'une colonne Excel sous condition

Salut et bienvenu au forum,
je viens de faire un fichier exemple
Ca va tout de suite mieux avec un simple fichier
je te laisse le tester
A+
Bruno
 

Pièces jointes

  • myexemple.xls
    36 KB · Affichages: 975

hotbrain

XLDnaute Nouveau
Re : Remplir combobox avec donnés d'une colonne Excel sous condition

Merci à toi Youki.

Désolé, j'ai pourtant charger un fichier de se que je cherche à faire, mais apparemment j'ai pas fait ce qu'il fallait car il n'apparait pas.


Bon en tout cas tu a superbement bien répondu à ma question.Je vais tacher d'adapter ton exemple à mon fichier Excel.

Merci :D
 

hotbrain

XLDnaute Nouveau
Re : Remplir combobox avec donnés d'une colonne Excel sous condition

Le fichier fonctionne très bien.

Mais il me reste une problème je n'arrive pas à adapter une chose:

Dans ma listeBox les checkBox n'apparaissent pas et je ne trouve ou elles sont notés dans le code?

et une dernière question pour comprendre:
A quoi sert "_" après le then, la ligne se trouve dans la feuille1 (pour le bp qui lance le User Form)

If c.Offset(, 1) = "Oui" Then _


Merci
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Remplir combobox avec donnés d'une colonne Excel sous condition

Bonjour hotbrain,

essaie en remplaçant le code par celui-ci:
Code:
Private Sub CommandButton1_Click()
For Each c In Range("A1:" & [A65536].End(xlUp).Address)
If c.Offset(, 1) = "Oui" And c.Offset(, 2) <> "Fait" Then _
UserForm1.ListBox1.AddItem c.Value
Next
UserForm1.Show
End Sub
cela permettra de voir apparaître dans la listbox uniquement les "OUI" qui ne sont pas "Fait"
et une dernière question pour comprendre:
A quoi sert "_" après le then,
le tiret_bas est utilisé lorsque la ligne de code est longue
lorsqu'il est utilisé, la ligne suivante fait partie de la ligne dans laquelle se trouve le "_" ............... ces lignes ne font qu'une

espérant avoir répondu à ta question

à+
Philippe
 
Dernière édition:

hotbrain

XLDnaute Nouveau
Re : Remplir combobox avec donnés d'une colonne Excel sous condition

Merci pour ta réponse,

La partie du code que tu a rajouté: (,2) <> 3fAIT3
Signifie bien que deux colonne après (donc la C) ne doit pas être égale à FAIT

Je ne trouve pas comment faire apparaitre les checkbox???
 

hotbrain

XLDnaute Nouveau
Re : Remplir combobox avec donnés d'une colonne Excel sous condition

Voici le code que j'ai écris dans mon userform6

LBDep1: Liste déroulante ou doivent figurer les N° de la colonne 1 Si il y a "Oui" dans la colonne 2


Private Sub CommandButton1_Click()

For Each c In Range("A1:" & [A545].End(xlUp).Address)
If c.Offset(, 1) = "Oui" And c.Offset(, 2) <> "Fait" Then _
UserForm6.LBDep1.AddItem c.Value
Next

For k = 0 To LBDep1.ListCount - 1
If LBDep1.Selected(k) Then
lig = Application.Match(LBDep1.List(k), [Feuil1!A1:A545], 0)
Cells(lig, 3) = "Fait" '3 est N° colonne
End If
Next
End Sub

Si ça vous aide pour me répondre!!

La 1er partie du code était dans la feuille excel mais moi mon bouton est dans un userform et non dans feuille 1.

:)
 

youky(BJ)

XLDnaute Barbatruc
Re : Remplir combobox avec donnés d'une colonne Excel sous condition

re,
en propriété de listbox1
ListStyle=1
MultiSelect=1
Ce code remplie la liste à l'ouverture de l'userform
Le mieux est de le mettre à l'endroit ou tu appel l'ouverture de ton userform
Code:
Private Sub UserForm_Initialize()
For Each c In Range("A1:" & [A65536].End(xlUp).Address)
If c.Offset(, 1) = "Oui" Then _
UserForm1.ListBox1.AddItem c.Value
Next
End Sub
 

hotbrain

XLDnaute Nouveau
Re : Remplir combobox avec donnés d'une colonne Excel sous condition

Je ne comprend pas, il y a une erreur alors que je pensais que tout fonctionnait.

Erreur d'exécution: incompatibilité de type Je met le débogage il m'affiche la ligne
Cells(lig, 3) = "Fait" comme incompatible

Avez vous une idée?
 

Staple1600

XLDnaute Barbatruc
Re : Remplir combobox avec donnés d'une colonne Excel sous condition

Bonsoir



Une autre possiblité d'écriture pour remplir la ListBox

Code:
Private Sub UserForm_Initialize()
Dim c As Range, oui As Range, i As Long, Arr() As String
ListBox1.Clear
Application.ScreenUpdating = False
With Sheets(1)
    .[A1].AutoFilter Field:=2, Criteria1:="OUI"
        With .Range("_FilterDataBase")
        Set oui = _
        .Item(1).Offset(1).Resize(.Rows.Count - 1).SpecialCells(12)
        End With
    .[A1].AutoFilter
End With
ReDim Arr(1 To oui.Count)
For Each c In oui
    i = i + 1
    Arr(i) = c
Next
ListBox1.List = Arr
Application.ScreenUpdating = True
End Sub
 
Dernière édition:

hotbrain

XLDnaute Nouveau
Re : Remplir combobox avec donnés d'une colonne Excel sous condition

Désolé, mais je ne comprend toujours pas pourquoi il y a une erreur 13 dans ma ligne de code.

Private Sub CommandButton1_Click()

For k = 0 To LBDep1.ListCount - 1
If LBDep1.Selected(k) Then
lig = Application.Match(LBDep1.List(k), [Feuil1!A1:A545], 0)
Cells(lig, 3) = "Fait" '3 est N° colonne
End If
Next
End Sub

Staple1600: peux tu me dire quel est la différence entre ton code et celui qui m'a était donné précédemment. (si il permet entre autre de supprimer l'erreur )
Car je n'arrive pas a faire fonctionner avec ton code.

Merci d'avance
 

hotbrain

XLDnaute Nouveau
Re : Remplir combobox avec donnés d'une colonne Excel sous condition

Est il possible de sélectionner toutes les lignes affichés dans la listebox en cliquant sur une checklist

par exemple avec avec un code genre

fmlistbox.selected.all

enfin je ne suis pas sur que ça existe
 

youky(BJ)

XLDnaute Barbatruc
Re : Remplir combobox avec donnés d'une colonne Excel sous condition

Salut,
Dans la macro verifie ceci,
[Feuil1!A1:A545]

Feuil1! ...ici est le nom de l'onglet...le .Name
ou
Feuil1.[A1:A545] 'ici c'est le codeName

..de toute façon si Error c'est qu'il n'a pas trouvé la lig
Pour trouver la lig il faut la chercher dans la même colonne qui a servis à remplir la liste
Bruno
 

youky(BJ)

XLDnaute Barbatruc
Re : Remplir combobox avec donnés d'une colonne Excel sous condition

J'ai modifié le fichier que je t'ai réalisé.
Il répond à ta demande, je pense que ton error est résolue car tu n'en parles plus.
Bruno
 

Pièces jointes

  • myexemple2.xls
    45 KB · Affichages: 375

Discussions similaires

Réponses
9
Affichages
230

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 989
dernier inscrit
jralonso