XL 2013 Problème lors de la duplication d'un item dans listbox

anass1

XLDnaute Junior
Bonjour,

Je veux ajouter un "X" à l'item sélectionné dans listbox ,
Mais j'ai un problème lors de la duplication de l'item; Le "X" est ajouté dans les deux items.
Sans titre.png

Merci
 

Pièces jointes

  • 1.xlsm
    28.9 KB · Affichages: 16
Solution
Bonjour anass1, fanfan38, le forum,

Compliquer les choses entraîne souvent des erreurs !!!
VB:
Private Sub CommandButton1_Click()
Dim i As Long
With ListBox1
    For i = 0 To .ListCount - 1
        If .Selected(i) Then Range("F" & i + 2) = "X"
    Next
End With
UserForm_Initialize
End Sub
Bonne journée.

anass1

XLDnaute Junior
Bonsoir,
Il y a quelque chose que je n'ai pas remarqué;
Lors du choix d'un item en double , Le "X" est ajouté dans premier item.!
Merci
Sans titre1.png


VB:
Dim i As Byte, j As Byte, nbl&, lig As Long
nbl = Range("A" & Rows.Count).End(xlUp).Row
With Me.ListBox1
    For i = 0 To .ListCount - 1
        If .Selected(i) = True Then
          lig = Range("A2:F" & nbl).Cells.Find(what:=.List(i), lookat:=xlWhole).Row
          Range("F" & lig) = "X"
        End If
    Next i
End With
 

job75

XLDnaute Barbatruc
Bonjour anass1, fanfan38, le forum,

Compliquer les choses entraîne souvent des erreurs !!!
VB:
Private Sub CommandButton1_Click()
Dim i As Long
With ListBox1
    For i = 0 To .ListCount - 1
        If .Selected(i) Then Range("F" & i + 2) = "X"
    Next
End With
UserForm_Initialize
End Sub
Bonne journée.
 

anass1

XLDnaute Junior
Bonjour,
Merci beaucoup job75
Il peut être utilisé pour le modification et la suppression ...?

VB:
Dim i As Long
With ListBox1
    For i = 0 To .ListCount - 1
       If .Selected(i) = True Then
        Range("A" & i + 2) = TextBox1
        Range("B" & i + 2) = TextBox2
        Range("C" & i + 2) = TextBox3
       End If
    Next
End With

Code:
For i = 0 To .ListCount - 1
       If .Selected(i) = True Then
Sheets("Feuil1").Rows(i + 2).Delete
       End If
    Next
 

anass1

XLDnaute Junior
Bonsoir,
SVP, J'ai une question;
Si vous souhaitez ajouter le "X" à un item que vous avez recherché;
Cela peut-il être fait d'une manière simple et technique comme celle-ci?
Merci
Sans titre3.png
 

Pièces jointes

  • v2.xlsm
    26.4 KB · Affichages: 3

job75

XLDnaute Barbatruc
Bonjour anass1, le fil,

Pour travailler facilement sur les plages quand la ListBox est filtrée le plus simple est de lui ajouter une 1ère colonne (qui sera masquée).

Cette colonne contiendra les numéros de lignes du tableau source, les récupérer ensuite est facile.

A+
 

anass1

XLDnaute Junior
Bonsoir job75 , le forum,

Si vous voulez dire cette méthode
Sans 4.png

C’est une bonne idée.
Mais nous allons le prendre ce code, Convient pour la recherche ?
VB:
Dim i As Byte, j As Byte, nbl&
nbl = Range("A" & Rows.Count).End(xlUp).Row
With Me.ListBox1
    For i = 0 To .ListCount - 1
        If .Selected(i) = True Then
            For j = 2 To nbl
                If Cells(j, 1).Value = .List(i) Then
                    Rows(j).Select
                    Cells(j, 7).Value = "X"
                End If
            Next j
        End If
    Next i
End With
 

Pièces jointes

  • 1 (1).xlsm
    29.3 KB · Affichages: 2

Discussions similaires

Statistiques des forums

Discussions
315 134
Messages
2 116 614
Membres
112 812
dernier inscrit
jocelyne86360