Erreur d'exécution '91' avec instruction Find

Résolu
Ela_1005 Messages postés 22 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour le forum,

Je développe actuellement un outil professionnel pour gérer et suivre des demandes reçues.

Pour effectuer le suivi, l'utilisateur renseigne un numéro de suivi dans une textbox et lors de la validation, je souhaite une macro qui trouve le numéro de suivi dans ma feuille excel puis qu'il définisse cette cellule en référence pour pouvoir récupérer le reste des informations de cette ligne afin de les mettre dans des label dans un Userform.

J'utilise donc le code suivant :
Private Sub btn_valider_Click()
Dim i, j As Integer

Cells.Find(suivi_numero.txt_num_suivi.Text).Activate
i = ActiveCell.Row
j = ActiveCell.Column

suivi.lbl_num_suivi.Caption = Sheets("Suivi").Cells(i, j).Value

End Sub


Le code bug dès la 1ère ligne et je ne comprends vraiment pas pourquoi car j'ai déjà utilisé la même syntaxe dans un autre outil et cela fonctionne à merveille ...

Merci pour votre aide !

Voici le lien du fichier : http://www.cjoint.com/c/FHzjRxnZ1tA

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,
    Je n'ai pas accès à ton fichier (bloqué par le réseau de mon entreprise....)
    mais bon...
    A tout hasard... ta feuille Excel ne serait pas protégée ?

    De plus, tu peux utiliser la syntaxe suivante (qui évite quelques erreurs d'écriture...) :
    Sheets("nom_feuille").Cells.Find(What:="ValeurCherchee", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
    


    0
    1. Ela_1005 Messages postés 22 Statut Membre
       
      Ah mince, je l'ai mis en privé c'est peut-être ça aussi ..

      As-tu accès au fichier via ce lien là à tout hasard : https://www.cjoint.com/c/FHzj6zTUYNA

      J'ai essayé la syntaxe que tu m'as proposée qui est effectivement plus pro, mais même message d'erreur .. J'ai vraiment du mal à saisir d'où ça peut venir ..

      Merci
      Ela
      0
    2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > Ela_1005 Messages postés 22 Statut Membre
       
      Non toujours pas.
      Mais c'est vraiment côté proxy de ma boite que ça bloque..... ils n'aiment pas qu'on aille sur ci-joint.com....
      Je regarderai ça plus tard. (A moins qu'une autre personne ne passe par ici et t'apporte son aide...... et la solution.. :-))
      0
    3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
       
      Bonjour a vous deux,

      A moins qu'une autre personne
      Si fait, je passai par ici (a cause du prob de recup)

      votre code modifie au plus simple
      Private Sub btn_valider_Click()
          Dim i, j As Integer, x As Range
          
          With Sheets("suivi")
              If suivi_numero.txt_num_suivi <> "" Then
                  Set x = .Cells.Find(CLng(suivi_numero.txt_num_suivi))
                  If Not x Is Nothing Then
                      suivi.lbl_num_suivi.Caption = .Range(x.Address).Value
                      suivi.Show
                  Else
                      MsgBox "Pas trouve!!!!!"
                  End If
              Else
                  MsgBox "Pas de numero ??????????"
              End If
          End With
      End Sub


      Pourquoi ne pas mettre la recherche directement dans l'UF suivi ??????
      Vous devriez mettre une combobox pour le choix des numeros qui existent deja !!
      0
    4. Ela_1005 Messages postés 22 Statut Membre > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour,

      Merci pour votre réponse. J'ai testé votre code mais il ne semble pas fonctionner.
      Lorsque je renseigne un numéro existant, je me retrouve avec une date dans mon label "lbl_num_suivi". et Si jamais je renseigne un numéro qui n'existe pas, il m'ouvre quand même mon Userform "suivi".

      En fait, je souhaiterai faire un filtre en fonction du numéro de suivi renseigné par l'utilisateur et qu'une fois le filtre réalisé que ce numéro de suivi soit mon point de départ (cells(i,j)) pour récupérer les informations de la ligne en incrémentant le j.

      J'ai du coup changé mon code et mis cela :
      Worksheets("Suivi").Activate
      Selection.AutoFilter Field:=2, Criteria1:=suivi_numero.txt_num_suivi.Text
      
      i = ActiveCell.Row
      j = ActiveCell.Column
      
      suivi.txt_commentaires.Text = Sheets("Suivi").Cells(i, j + 21).Value
      suivi.Show


      Le filtre fonctionne bien, en revanche je dois maintenant trouver comment activer la ligne filtrée pour récupérer les infos (actuellement mon code récupère les infos de la première ligne). Avez-vous une idée ?

      Merci beaucoup
      0
    5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Ela_1005 Messages postés 22 Statut Membre
       
      Bonjour,

      Votre fichier modifie d'hier et c'est bien un numero qui s'affiche dans l'UF suivi pas une date
      https://www.cjoint.com/c/FHAhLjNBYAf

      J'ai du coup changé mon code Ah Bon!!!

      Mais avec "le mien", vous recuperez l'adresse de la cellule, donc "facile" d"avoir le numero de ligne

      Ceci dit, j'ai modfie votre fichier avec votre code, perso je ne fais pas comme ca, mais c'est une autre histoire
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    A la suite d'un probleme de date pose par une personne (date francaise convertie en date anglaise dans cellule excel)
    ex: 02/01/2016 dans textbox devient 01/02/2016

    Dans votre fichier le probleme existe, je l'ai corrige dans le fichier suivant pour suivi demande, a voir pour le reste

    https://www.cjoint.com/c/FIcjeOyZ5sf

    A+
    0