listbox index-ligne

hicham28

XLDnaute Occasionnel
Bonsoir et merci d’avance de votre aide,

J’utilise un listbox qui contient 6 colonnes, et qui affiche les éléments de deux feuilles au choix,
Ca veux dire : Je choisie la feuille a traité, et la listbox affiché les éléments de cette feuille choisie

Je n’arrive pas a comprendre comment relié, l’index des éléments affiché sur une lisbox et la linge correspondante de ces éléments sur la feuille de calcule.

J’aimerai aboutir a mettre « x » sur la colonne K sur une des deux feuilles choisie après validation par un bouton command sous condition que les linges de la listbox seront cochés, j’espère être un peu claire et j’espère aussi avoir votre explication ou un code, merci a vous encore
 

gilbert_RGI

XLDnaute Barbatruc
Re : listbox index-ligne

Bonjour

c'est une listbox ou combobox ?

dans une combobox il y a la propriété

listfillrange pour mettre la liste des données

et linkedcell pour lier la valeur de la combobox à la cellule indiquée dans cette propriété

listrows indique le nombre de lignes dans le déroulant

dans une listbox c'est dans controlsource qu'il faut mettre l'adresse de la cellule à lier
 
Dernière édition:

hicham28

XLDnaute Occasionnel
Re : listbox index-ligne

bonjour et merci a vous,
voila mon code, mais ca me remis toujours a la troisieme ligne, je ne comprends toujours pas, merci
Code:
Dim J As Long
For J = 0 To ListBox1.ListCount - 1
  If ListBox1.Selected(J) = True Then Sheets(NomFeuil).Range("j" & J + 3) = "X"
Next
 

kjin

XLDnaute Barbatruc
Re : listbox index-ligne

Bonjour,
hicham tu sais très bien, parce que c'est une évidence, que ce genre de question ne peut se traiter efficacement qu'avec un fichier exemple
Code:
Dim J As Long
For J = 0 To ListBox1.ListCount - 1
  If ListBox1.Selected(J) = True Then Sheets(NomFeuil).Range([COLOR="Red"]J + 3, 11[/COLOR]) = "X"
Next
A bon entendeur
kjin
 
Dernière édition:

hicham28

XLDnaute Occasionnel
Re : listbox index-ligne

merci pour vos reponse, mais ca n'as pas marché,
voici ci dessus le code pour remplir la listbox, je veux juste que la saisie de "X" ne se fais pas quand la listbox sera rempli ( sur le code " Sheets(NomFeuil).Range("K" & L + 3) = "x""), mais apres la validation par un bouton command et sous condition que les elements de la lisbox seront cocheté, qui seront coché par defeaut. j'aimerai bien joindre le fichier, mais ca contient beaucoup d'elements personnel, je suis dsl et merci de m'avoir lire et aidé.
Code:
 Private Sub ComboBox1_Change()
    Dim i As Long, L As Long, Li As Long
    If ComboBox1.ListIndex > -1 Then
        i = ComboBox1.ListIndex
        Me.ListBox1.Clear
        For L = 1 To UBound(Tbl)
            If Tbl(L, 11) = "" Then
                If Year(Tbl(L, ColDate)) = Val(Me.ComboBox2.Value) Then
                    If Val(Me.ComboBox1.List(i, 1)) = Month(Tbl(L, ColDate)) Then
                        Sheets(NomFeuil).Range("K" & L + 3) = "x"
                        With Me.ListBox1
                            .AddItem
                            .List(.ListCount - 1, 0) = Tbl(L, ColDate)
                            .List(.ListCount - 1, 1) = ModeP
                            .List(.ListCount - 1, 2) = Tbl(L, ColNumero)
                            .List(.ListCount - 1, 3) = Tbl(L, ColFournisseur)
                             .List(.ListCount - 1, 4) = Tbl(L, ColCause)
                             .List(.ListCount - 1, 5) = Tbl(L, ColMontant)
                        End With
                    End If
                End If
            End If
        Next L
    End If
End Sub
 

Discussions similaires

Réponses
4
Affichages
315
Réponses
25
Affichages
833

Statistiques des forums

Discussions
312 763
Messages
2 091 853
Membres
105 079
dernier inscrit
Biscot_399