ListBox

Bonjour,

Actuellement,, si je selectionne des outils dans la listbox, "Fraise 2 tailles" et que je vais cliquer sur le bouton cela vas aller selectionner dans mon fichier excel les ligne entière des ligne qui contienne le nom des outils qui ne son pas selectionner. Ceci dans le but, de pouvoir les supprimer par la suite.

J'arrive donc pour le moment à faire ce que je veut faire. Par contre quand il s'agit de faire sa avec plusieurs listbox, sa ne fonctionne pas, de plus si je sélectionne tout les outils d'une listbox, j'ai une erreur 90... Voici le code que j'ai actuellement :

Private Sub Bouton_Modification_Click()
'a = ListBox_Fraise2Taille.ListCount 'Nombre de valeur contenue dans la zone de liste
'    For i = 0 To a - 1
'        If ListBox_Fraise2Taille.Selected(i) Then
'            'MsgBox "la valeur suivante est sélectionnée : " & ListBox_Fraise2Taille.List(i)
'            Range("Tableau_Fraise").Find(ListBox_Fraise2Taille.List(i)).Select '.EntireRow.Delete
'            Selection.EntireRow.Select
'        End If
'        Next i

Dim NbFraise2TaillesDansListe As Integer, NbFraise3TaillesDansListe As Integer, NbFraiseConiqueDansListe As Integer
Dim i As Integer, compteur As Integer, CompteurConique As Integer
Dim C As Range, D As Range, E As Range
Dim PlageFraise2Tailles As Range, PlageFraise3Tailles As Range, PlageFraiseConique As Range

'-------------------------Action concernant la listBox fraise 2 Tailles -------------------------------------------'

        NbFraise2TaillesDansListe = ListBox_Fraise2Taille.ListCount 'Nombre de valeur contenue dans la zone de liste
        For i = 0 To NbFraise2TaillesDansListe - 1 '-1 car notre tableau commence a 0

        If ListBox_Fraise2Taille.Selected(i) = False Then 'Si l'outil n'est pas selectionner alors :
            Set C = Range("Tableau_Fraise").Find(ListBox_Fraise2Taille.List(i)) 'chercher la valeur dans le tableau

            If Not C Is Nothing Then 'Si C ne contient pas de valeur trouver alors
                If Not PlageFraise2Tailles Is Nothing Then
                    Set PlageFraise2Tailles = Application.Union(PlageFraise2Tailles, C.EntireRow)
                Else
                    Set PlageFraise2Tailles = C.EntireRow
                End If
            End If
        End If
    Next i
        PlageFraise2Tailles.Select 'Action s'effectuant sur les outils non selectionner dans la listbox
    Set C = Nothing: Set PlageFraise2Tailles = Nothing

'-------------------------Action concernant la listBox fraise 3 Tailles -------------------------------------------'

NbFraise3TaillesDansListe = ListBox_Fraise3Tailles.ListCount 'Nombre de valeur contenue dans la zone de liste
        For compteur = 0 To NbFraise3TaillesDansListe - 1 '-1 car notre tableau commence a 0

        If ListBox_Fraise3Tailles.Selected(compteur) = False Then 'Si l'outil n'est pas selectionner alors :
            Set D = Range("Tableau_Fraise3Tailles").Find(ListBox_Fraise3Tailles.List(compteur)) 'chercher la valeur dans le tableau

            If Not D Is Nothing Then 'Si C ne contient pas de valeur trouver alors
                If Not PlageFraise3Tailles Is Nothing Then
                    Set PlageFraise3Tailles = Application.Union(PlageFraise3Tailles, D.EntireRow)
                Else
                    Set PlageFraise3Tailles = D.EntireRow
                End If
            End If
        End If
    Next compteur
        PlageFraise3Tailles.Select 'Action s'effectuant sur les outils non selectionner dans la listbox
    Set D = Nothing: Set PlageFraise3Tailles = Nothing

'-------------------------Action concernant la listBox Fraise conique -------------------------------------------'

NbFraiseConiqueDansListe = ListBox_FraiseConique.ListCount 'Nombre de valeur contenue dans la zone de liste
        For CompteurConique = 0 To NbFraiseConiqueDansListe - 1 '-1 car notre tableau commence a 0

        If ListBox_FraiseConique.Selected(CompteurConique) = False Then 'Si l'outil n'est pas selectionner alors :
            Set E = Range("Tableau_FraiseConique").Find(ListBox_FraiseConique.List(CompteurConique)) 'chercher la valeur dans le tableau

            If Not E Is Nothing Then 'Si E ne contient pas de valeur trouver alors
                If Not PlageFraiseConique Is Nothing Then
                    Set PlageFraiseConique = Application.Union(PlageFraiseConique, E.EntireRow)
                Else
                    Set PlageFraiseConique = E.EntireRow
                End If
            End If
        End If
    Next CompteurConique
        PlageFraiseConique.Select 'Action s'effectuant sur les outils non selectionner dans la listbox
    Set E = Nothing: Set PlageFraiseConique = Nothing

End Sub

J'espère que l'un d'entre vous pourras m'aider, je reste disponible pour toutes questions.

Personne pour m'aider ?

Au moins des pistes pour m'orienter ?

Merci d'avance.

Bonjour

Tu as mis une image, la code d'une macro et il manque l'essentiel ... Devine

Et oui tu as gagné si tu a deviné qu'il manquait le fichier

Banzai64 a écrit :

Bonjour

Tu as mis une image, la code d'une macro et il manque l'essentiel ... Devine

Et oui tu as gagné si tu a deviné qu'il manquait le fichier

Je suis tout à fait d'accord avec toi, hors l'application que je développe, c'est pour un stage et je n'ai pas le droit de la poster sur internet malheureusement.... J'essaye donc d'être le plus explicite possible, et je me satisfait de simple pistes qui pourrais m'aider. Mes principales interrogations actuellement étant :

-Comment interagir avec plusieurs listBox dans plusieurs plage de données ? (mon select qui ne marche que une plage par plage, pas avec plusieurs plages en même temps)

- Pourquoi si je sélectionne toutes les lignes d'une listbox, sa me met un message d'erreur a la place de ne rien sélectionne dans la plage du classeur ?

Si je peut aider d'avantages en répondant ç plus de questions, ou en postant des images de mon application se seras avec plaisir.

Merci de votre compréhension.

Bonjour

Je comprend ton problème que tu ne puisse pas poster ton fichier

Mais essaies de comprendre le notre (surtout le mien), pour trouver des erreurs il faut que l'on teste en situation réelle

Donc si tu ne fournis pas le fichier, il faudrait en faire un qui reprenne ton code, ton Userform avec tes contrôles, ta base de données etc ....

Moi je n'en suis pas capable

Maintenant il y des membres sur ce forum qui peut-être le peuvent, ou qu'il détecte l'erreur sans fichier

Désolé

Rechercher des sujets similaires à "listbox"