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

  • Initiateur de la discussion Initiateur de la discussion anass1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
    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.
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
 
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.
 
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
 
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

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+
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
361
Réponses
5
Affichages
117
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…