Supprimer des lignes dans une listBox

Bonjour,

Je me permet de venir demander de l'aide car j'ai un petit problème avec un code pour une ListBox ...

Je vous expose le problème :

- Je remplis la listbox avec ce code

If Sheets("Conf_Controle").Range("A2").Value = "X" Then
    For Each Cel In Sheets("Historiques").Range("A3:A" & Sheets("Historiques").Range("A" & Rows.Count).End(xlUp).Row)
    If Cel.Offset(0, 15).Value = "1" And Cel.Offset(0, 0).Value = UserForm_Auth.ComboBox_NumInterne.Value Then
        UserForm_Auth.ListBox1.AddItem
        UserForm_Auth.ListBox1.List(I, 0) = Cel.Offset(0, 62).Value
        UserForm_Auth.ListBox1.List(I, 1) = Cel.Offset(0, 2).Value
        UserForm_Auth.ListBox1.List(I, 2) = Cel.Offset(0, 3).Value
        UserForm_Auth.ListBox1.List(I, 3) = Cel.Offset(0, 6).Value
        UserForm_Auth.ListBox1.List(I, 4) = Cel.Offset(0, 7).Value
        UserForm_Auth.ListBox1.List(I, 5) = Cel.Offset(0, 8).Value
        UserForm_Auth.ListBox1.List(I, 6) = Cel.Offset(0, 10).Value
        UserForm_Auth.ListBox1.List(I, 7) = Cel.Offset(0, 11).Value
        UserForm_Auth.ListBox1.List(I, 8) = Cel.Offset(0, 13).Value
        UserForm_Auth.ListBox1.List(I, 9) = Cel.Offset(0, 14).Value

        I = I + 1

        Controle01 = "1"
    End If

Jusqu'à la pas de problème cela remplis bien mes colonnes mais j'aimerais que si il trouve dans une colonne bien spécifique une certaine phrase bah il me supprime des lignes suivant une variable :

Exemple I= 5 il me supprime les 5 dernières lignes dans ma listBox.

J'ai le début mais entre if et end If .... rien

    
If Cel.Offset(0, 3).Value = "Suppression contrôle 1" And Controle01 = "1" Then

End If

J'aimerais bien vous faire un exemple mais il me serais nécessaire de faire une jolie base de données assez complexe.

Bonjour,

Après plusieurs recherches je trouve toujours aucune solution je vous joins un fichier exemple avec quelques explications :

1) On clique sur le Bouton1 de la feuille un Userform va être lancer

2) On appuis sur Générer le contenue de la listBox va être généré

Ce que je souhaite c'est dans mon exemple fourni c'est sans passer par la fonction CLEAR de listbox c'est supprimer les 13 premières lignes dans ce sens-là :

  • On remplis notre ListBox
    Lorsque dans Type nous avons " Suppression Cont 1" on supprime les 4 premières lignes
    On remplit notre ListBox
    On retombe sur un "Suppression Cont 1" on supprime les 7 Lignes
    On remplit notre Listbox

Pourquoi j'utilise pas CLEAR c'est simple ici nous avons 1 contrôle mais demain dans mon fichier il y aura plusieurs contrôles et la génération va être faite grâce à un Combobox via les Numéros.

Je vous remercie pour les réponses que vous pourrez m'apporter.

63listbox.xlsm (23.45 Ko)

Salut Antho49000,

tu dis qu'il y aura plusieurs contrôles à démêler : comment reconnaît-on le contrôle concerné?

Je vois des n° différents pour un (même?) contrôle en colonne A.

Pour que nous soyons certains de bien comprendre ce que tu veux, ce serait chouette que tu mettes sur ta même Feuil1 en colones H,I... le résultat de ce que tu attends!

A+

Bonjour,

Alors je vais expliquer un peu mon fichier car effectivement j'ai du mal m'exprimer sur le sujet

Mon fichier est un fichier de suivi de contrôle technique, de Dekra etc ... avec des alertes ( c'est pour cela que je disais des contrôles ) .

Et ceci est la phase de l'historique des différents contrôles effectuer sur les véhicules :

Colonne A ==> N° du véhicule

Colonne B ==> L'utilisateur

Colonne C ==> Le type d'historique

[*]Suppression Cont 1 ... ==> la personne à supprimer le contrôle ( exemple il a changé le nom du contrôle technique en contrôle véhicule

[*] Modif ==> L'utilisateur a changer les dates par exemple

Colonne D,E,F ==> [ Contrôle 1 ] date du contrôle, date du prochain , Si le contrôle est valide

Je remet un fichier avec beaucoup plus d'explication en PJ

Merci beaucoup pour les réponses que vous pourrez m'apporter

42listbox-v2.xlsm (128.24 Ko)

Salut Antho49000,

voici ton fichier, à tester en situation réelle...

Le petit bouton rouge appelle l'USF et fait le ménage dans la foulée!

Private Sub UserForm_Activate()
'
iCol = Cells(1, Columns.Count).End(xlToLeft).Column
nbCtrl = (iCol - 1) / 3
iIdx = -1
'
For x = 1 To nbCtrl
    iCol = 3 + (x * 3)
    sFlag = "---Test" & x & "---'"
    iRow = Cells(Rows.Count, iCol).End(xlUp).Row
    '
    iStart = 0
    For y = 2 To iRow
        If LCase(Cells(y, iCol)) = "x" And iStart = 0 Then iStart = y
        If Cells(y, 3) = "Suppression Cont " & x Then iStart = 0
    Next
    If iStart > 0 Then
        iIdx = iIdx + 1
        Me.lstCtrl.AddItem
        Me.lstCtrl.List(iIdx, 0) = sFlag
        For Z = iStart To iRow
            If LCase(Cells(Z, iCol)) = "x" Then
                iIdx = iIdx + 1
                Me.lstCtrl.AddItem
                Me.lstCtrl.List(iIdx, 0) = Cells(Z, 1)
                Me.lstCtrl.List(iIdx, 1) = Cells(Z, 2)
                Me.lstCtrl.List(iIdx, 2) = Cells(Z, 3)
                Me.lstCtrl.List(iIdx, 3) = Cells(Z, iCol - 2)
                Me.lstCtrl.List(iIdx, 4) = Cells(Z, iCol - 1)
            End If
        Next
    End If
Next
'
End Sub

A+

77listbox-v2.xlsm (25.88 Ko)

Merci beaucoup !!!!

Je n'ai pas mis le même script dans mon fichier final ( car beaucoup plus complexe que celui que j'ai envoyer ), mais je me suis inspiré de la réponse de curulis57 et cela me permet de faire ce que je désire et même plus

Merci beaucoup curulis57

Rechercher des sujets similaires à "supprimer lignes listbox"