• Initiateur de la discussion Initiateur de la discussion recovery
  • 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 !

recovery

XLDnaute Junior
Bonjour les profs

j'ai vraiment besoin d'un petit coup de main, voici mon problème dans ma listbox alimenté par une rowsource définie en fonction de la feuille sélectionnée, mentionnée par une combobox je souhaite supprimer la valeur sélectionnée dans cette dernière pour cela voici le code du commandbutton

Rows.Find(ListBox1.Value).EntireRow.Delete
UserForm1.ListBox1.List = Sheets(ComboBox1.Value).Range("A2:f" & .Range("A1000").End(xlUp).row).Value

voici le message d'erreur
erreur 91
variable objet ou variable de bloc non définie

la première ligne du code est surlignée en jaune

petite précision dans la propriété listbox

boundcolumn = 1
columncount = 6

si quelqu'un peut prendre 5MN de son temps, je le remercie d'avance.
 
Re : Listbox

Bonjour recovery,

Comme souvent, sans fichier, difficile d'être précis.

Toutefois, tu peux essayer ainsi :

Code:
Rows.Find(ListBox1.Value).EntireRow.Delete
With Sheets(ComboBox1.Value)
  UserForm1.ListBox1.List = .Range("A2:f" & .Range("A1000").End(xlUp).row).Value
End With

Cordialement.

Edit :

Oups, j'ai mal lu la question. Mais le mieux serait que tu joignes une copie de ton fichier.
 
Re : Listbox

Bonjour recovery ,papou net
Si tu te trouve dans un module tu dois mettre comme ceci:
Code:
Rows.Find(userform1.ListBox1.Value).EntireRow.Delete
UserForm1.ListBox1.List = Sheets(userform1.ComboBox1.Value).Range("A2:f" & .Range("A1000").End(xlUp).row).Value
Si pas il faut ton fichier comme le suggère papou net
A bientôt.
 
Re : Listbox

Bonjour recovery ,papou net
Si tu te trouve dans un module tu dois mettre comme ceci:
Code:
Rows.Find(userform1.ListBox1.Value).EntireRow.Delete
UserForm1.ListBox1.List = Sheets(userform1.ComboBox1.Value).Range("A2:f" & .Range("A1000").End(xlUp).row).Value
Si pas il faut ton fichier comme le suggère papou net
A bientôt.

Merci de m'aider voici le fichier
 

Pièces jointes

Re : Listbox

Re,
Voila avec le fichier c'est beaucoup mieux:
Code:
Private Sub ComboBox1_Change()
Dim Fournisseurs
Dim LapositionOccupéé As Long
Sheets("Fournisseur").Select
LapositionOccupéé = UserForm1.ComboBox1.ListIndex + 1
Range("a1").Select
UserForm1.TextBox1.Value = ActiveCell.Offset(LapositionOccupéé, 1).Value
UserForm1.TextBox2.Value = ActiveCell.Offset(LapositionOccupéé, 2).Value
UserForm1.TextBox3.Value = ActiveCell.Offset(LapositionOccupéé, 3).Value

On Error Resume Next
Fournisseurs = Array("LaplaceTransgourmet", "Lodifrais", "TeamWest")

UserForm1.ListBox1.RowSource = ""
UserForm1.ListBox1.List = Sheets(UserForm1.ComboBox1.Value).Range("A2:f" & Sheets(UserForm1.ComboBox1.Value).Range("A60000").End(xlUp).row).Value
End Sub
Code:
Private Sub CommandButton3_Click()
If ListBox1.Value Like "Designation" Then Exit Sub

With Sheets(ComboBox1.Value)
.Rows.Find(ListBox1.Value).EntireRow.Delete
UserForm1.ListBox1.RowSource = ""
UserForm1.ListBox1.List = Sheets(UserForm1.ComboBox1.Value).Range("A2:f" & .Range("A65000").End(xlUp).row).Value
End With
End Sub
les codes a remplacés je te laisse adapter au fichier + pour les autres boutons
A+

Like Papou-net a 3 minutes prêt oups je vais faire dodo.😛
 
Dernière édition:
Re : Listbox

Bonsoir recovery,

Ci-joint ton fichier modifié qui devrait pouvoir fonctionner comme il convient.

Les deux procédures modifiées sont :

Code:
Private Sub ComboBox1_Change()
Dim Fournisseurs
Dim LapositionOccupéé As Long
Sheets("Fournisseur").Select
LapositionOccupéé = UserForm1.ComboBox1.ListIndex + 1
Range("a1").Select
UserForm1.TextBox1.Value = ActiveCell.Offset(LapositionOccupéé, 1).Value
UserForm1.TextBox2.Value = ActiveCell.Offset(LapositionOccupéé, 2).Value
UserForm1.TextBox3.Value = ActiveCell.Offset(LapositionOccupéé, 3).Value

On Error Resume Next
Fournisseurs = Array("LaplaceTransgourmet", "Lodifrais", "TeamWest")
Me.ListBox1.List = Sheets(ComboBox1.Value).Range("A2:f" & Sheets(ComboBox1.Value).Range("A65000").End(xlUp).row).Value

End Sub

Private Sub CommandButton3_Click()
With Sheets(ComboBox1.Value)

.Rows.Find(ListBox1.Value).EntireRow.Delete
UserForm1.ListBox1.Clear
UserForm1.ListBox1.List = .Range("A2:f" & .Range("A65000").End(xlUp).row).Value
End With
End Sub

Espérant avoir résolu.

Cordialement.

Edit : Oups,bonsoir fhoest. On s'est croisés mais avec la même solution.
 

Pièces jointes

Re : Listbox

Re,
pas bien grave le mieux c'est qu'il a ce qu'il demande,
Bonne nuit.
Le petit plus c'est le non effacacement de la ligne désignation lors de l'effacement d'une donnée celle ci peut être effacer si on ne gère pas la ligne
A bientôt et au plaisir.
 
- 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

Réponses
68
Affichages
8 K
Réponses
7
Affichages
2 K
Réponses
6
Affichages
1 K
Réponses
2
Affichages
993
Retour