Pb VBA avec fonction find (Erreur 1004) help [Résolu]

Messages postés
103
Date d'inscription
jeudi 22 juillet 2010
Dernière intervention
12 juin 2012
- - Dernière réponse : Jesusdenazarrete
Messages postés
103
Date d'inscription
jeudi 22 juillet 2010
Dernière intervention
12 juin 2012
- 13 mars 2008 à 11:02
Bonjour,

J'ai un léger problème avec la fonction find (je suis avec excel 2002 sp3), je vous explique :

Voici mon programme :

Public vcherch As String
Public vtrouve As Range
------------------------------------------------------------------------------------------­--------------------------
Public Sub Bcherch_Click() (Bcherch c'est le bouton sur lequel on appuie pour rechercher)

worksheets("Facturation").Activate (on recherche dans la feuille facturation)

vtrouve = Range(Cells(1, 1), Cells(30, 35000)).Find(what:=Ccherch.Value).Address

MsgBox vtrouve.address

End Sub
------------------------------------------------------------------------------------------­--------------------------
Private Sub Ccherch_change()

vcherch = Ccherch.Value (Ccherch c'est la boite dans laquelle on inscrit ce qu'on veut chercher)

End Sub
------------------------------------------------------------------------------------------­--------------------------

Lorsque je lance ma feuille, tout se passe bien, mais le problème c'est que dès que je clique sur le bouton Bcherch,
J'ai le message suivant : Erreur 1004, Erreur définie par l'application ou l'objet

Quelqu'un peut-il m'aider S'il vous plait

Merci d'avance
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
60
3
Merci
- Range et Cells doivent être relatives à une WorkSheet.
- 30,35000, euh...... prendre plutôt Cells.SpecialCells(xlCellTypeLastCell)- vtrouve ..... ne peux fonctionner. Pour les objets on fait Set vtrouve .........
- tu donne a vtrouve l'adresse de la range trouvée... ca colle pas

ce qui pourrait donner:

    With Worksheets("Facturation")
        .Activate '(on recherche dans la feuille facturation)
        Set vtrouve = .Range(.Cells(1, 1), .Cells.SpecialCells(xlCellTypeLastCell)).Find(What:=Ccherch.Value)
        If Nothing Is vtrouve Then
            MsgBox "Chaine non trouvée"
        Else
            MsgBox vtrouve.Address
        End If
    End With

Renfield
Admin CodeS-SourceS- MVP Visual Basic

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 89 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Renfield
Messages postés
103
Date d'inscription
jeudi 22 juillet 2010
Dernière intervention
12 juin 2012
11
0
Merci
Super cool renfield, rapide efficace, pas cher...

Juste a coller dans le scripteditor, réponse personnalisée, que du bonheur!!!!
Commenter la réponse de Jesusdenazarrete

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.