Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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.

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


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
 

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

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

job75

XLDnaute Barbatruc
Bonjour anass1, le forum,

Le fichier du post #9 en retour avec le code de l'UserForm corrigé.

La ListBox a maintenant 7 colonnes, comme le tableau source.

Bonne journée.
 

Pièces jointes

  • v2.xlsm
    28.9 KB · Affichages: 6

Discussions similaires

Réponses
18
Affichages
641
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…