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

Résolu/Fermé
Ela_1005 Messages postés 22 Date d'inscription lundi 25 janvier 2016 Statut Membre Dernière intervention 31 août 2016 - Modifié par Ela_1005 le 25/08/2016 à 11:43
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 2 sept. 2016 à 11:05
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

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
25 août 2016 à 11:55
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
Ela_1005 Messages postés 22 Date d'inscription lundi 25 janvier 2016 Statut Membre Dernière intervention 31 août 2016
Modifié par Ela_1005 le 25/08/2016 à 12:02
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > Ela_1005 Messages postés 22 Date d'inscription lundi 25 janvier 2016 Statut Membre Dernière intervention 31 août 2016
Modifié par jordane45 le 25/08/2016 à 12:04
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
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
25 août 2016 à 15:02
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
Ela_1005 Messages postés 22 Date d'inscription lundi 25 janvier 2016 Statut Membre Dernière intervention 31 août 2016 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
26 août 2016 à 09:32
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
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > Ela_1005 Messages postés 22 Date d'inscription lundi 25 janvier 2016 Statut Membre Dernière intervention 31 août 2016
26 août 2016 à 09:41
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
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 2/09/2016 à 11:08
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