Erreur 424 sur VBA

Résolu
Asbaroth Messages postés 22 Statut Membre -  
Asbaroth Messages postés 22 Statut Membre -
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

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  2. Asbaroth Messages postés 22 Statut Membre 1
     
    Merci Frank, ta solution a fonctionné et j'ai pu même améliorer le système.
    0