Erreur 424 sur VBA

Résolu
Asbaroth Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
Asbaroth Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

J'ai un petit soucis. Je suis en train de programmer une feuille Excel sous VBA.

Résumé de ce que je veux faire:Je fais un programme pour gérer les stocks d'un magasin. Une fenêtre s'affiche lorsque je souhaite mettre à jour la quantité d'un produit spécifique.
ListBox_listeproduit affiche l'ensemble des produits existant dans la base de données dans un cadre de la fenêtre.

Lorsque je le lance, j'ai comme réponse "Erreur 424, Objet requis". Je ne sais pas comment résoudre ce problème.

Voici la partie du code qui ne fonctionne pas:

Private Sub ListBox_listeproduit_Click()

Dim rngTrouve As Range
Dim Colonne As Integer

TextBox_Choix.Value = ListBox_listeproduit.Value

Set rngTrouve = ActiveSheet.Columns(1).Cells.Find(What:=TextBox_Choix.Value)

Cells.Find(What:=TextBox_Choix.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Colonne = ActiveCell.Column + 1
TextBox_fabricant.Value = Cell(ActiveCell.Row, Colonne).Value

End Sub

Quelqu'un peut m'aider?

Je vous remercie d'avance!

2 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
Teste si ton Range existe, si une valeur est sélectionnée dans ta listBox, n'utilise pas de Activate ou ActiveSheet :
Private Sub ListBox_listeproduit_Click() 
Dim rngTrouve As Range 
Dim Colonne As Integer 

'si aucune valeur n'est sélectionnée dans la listbox
If ListBox_listeproduit.listIndex = -1 Then Exit Sub
TextBox_Choix.Value = ListBox_listeproduit.List(ListBox_listeproduit.ListIndex)
With Sheets("MACHIN") '====> ADAPTER : nom de la feuille
    Set rngTrouve = .Columns(1).Cells.Find(What:=TextBox_Choix.Value) 
End With
If rngTrouve Is Nothing Then
    MsgBox "Pas trouvé"
Else
    TextBox_fabricant.Value = rngTrouve.Offset(0, 1).Value
End If
Set rngTrouve = Nothing
End Sub
3
Asbaroth Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci Frank, ta solution a fonctionné et j'ai pu même améliorer le système.
0