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 SubJ'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é